MangoDB

概述

MangoDB具有高性能、高存储、数据具有结构性的特点。

与Mysql相比,他的性能更高;与Redis相比,他的数据更有结构性

应用场景:数据量较大,要求加载数据快

环境配置

  1. 拉取镜像
sh 复制代码
docker pull mango
  1. 创建容器
sh 复制代码
docker run -di --name mongo-service --restart=always -p 27017:27017 -v /data/mongodata:/data mongo
  1. 导入依赖
xml 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
  1. 配置文件
yml 复制代码
spring: 
	data:
		mongodb: 
			host: 192.168.133.128
			port: 27017
			database: DatabaseName
  1. 创建映射
    将实体映射到MangoDB的集合,类似将实体映射到Mysql的表
java 复制代码
@Document("ap_associate_words")
public class ApAssociatewords implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private String id;
	/**
	 * 联想词
	 */
	private String associatewords;
	
	/**
	 * 创建时间
	 */
	private Date createdTime;
}
  1. 示例代码
java 复制代码
public class MangoDemo{
	@Autowired
	MangoTemplate mangoTemplate;

	public void test(){
		//保存或修改(根据ID,有ID就修改,无ID就保存)
		mangoTemplate.save(apAssociatewords);
		
		//根据ID查询集合得到实体
		ApAssociatewords apAssociatewords = mongoTemplate.findById("5fc2fc3fb60c9a039c44556e",ApAssociatewords.class);

		//根据条件去查询实体
		Query query = Query.query(Criteria.where("associatewords").is("测试字段")).with(Sort.by(Sort.Direction.DESC,"createdTime"));
		List<ApAssociatewords apAssociatewordsList = mongoTemplate.find(query, ApAssociateWords.class);

		//根据条件删除文档
		mongoTemplate.remove(Query.query(Criteria.where("associatewords").is("测试字段")),ApAssociateMords.class);

	}
}
相关推荐
anghost15013 小时前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
.用户昵称已存在.2 天前
MongoDB 从入门到精通:安装配置与基础操作指令详解
数据库·mongodb
GeekAGI2 天前
PyMongo 中 `ServerSelectionTimeoutError` 和 `NetworkTimeout` 异常的区别
mongodb
异世界贤狼转生码农2 天前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
竹照煜_ysn3 天前
STM32——软硬件I2C
stm32·嵌入式硬件·mongodb
板板正5 天前
Spring Boot 整合MongoDB
spring boot·后端·mongodb
程序员爱钓鱼7 天前
Go语言实战案例:用Gin实现图书管理接口
后端·mongodb·go
{⌐■_■}7 天前
【MongoDB】简单理解聚合操作,案例解析
数据库·线性代数·mongodb
王柏龙10 天前
Mongodb入门介绍
数据库·mongodb