1介绍
一种非关系型数据库,具有以下特点:
高并发, 高性能, 高可用, 简称三高
- High Performance: 对数据库的高并发读写的要求
- High Storage: 对海量数据的高效率存储和访问的需求
- High Scalability && High Available: 对数据的高扩展性和高可用性的需求
其中,与MySQL对应,集合相当于表,文档相当于一条记录。
2 快速上手
step1、安装部署
1
2
3
4
|
# 拉取镜像
docker pull mongo
# 部署
docker run -di --name mongo-service -p 27017:27017 -v ~/data/mongodata:/data mongo
|
step2、引入依赖与配置
1
2
3
4
|
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
|
1
2
3
4
5
6
|
spring:
data:
mongodb:
host: 192.168.200.200
port: 27017
database: himango
|
step3、映射
1
2
3
4
5
6
7
|
@Document("mangodb01")
public class Mangodb01 implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private Date createdTime;
}
|
step4、增删改查
1
2
3
4
5
6
7
8
9
|
// 保存或者修改
mongoTemplate.save(apAssociateWords);
// 查询一个对象
ApAssociateWords apAssociateWords = mongoTemplate.findById("5fc2fc3fb60c9a039c44556e", ApAssociateWords.class);
// 多条件查询
Query query = Query.query(Criteria.where("id").is("1")) .with(Sort.by(Sort.Direction.DESC,"createdTime"));
List<ApAssociateWords> apAssociateWordsList = mongoTemplate.find(query, ApAssociateWords.class);
// 删除
mongoTemplate.remove(Query.query(Criteria.where("id").is("1")),ApAssociateWords.class);
|
3 TODO