MongoDB
下载和安装
下载地址:https://www.mongodb.com/download-center/community

使用管理员运行命令行,输入 msiexec /package 文件路径及名称 示例: msiexec /package d:/program-zip.msi
开启和关闭服务
使用管理员运行命令行
-
开启
net start MongoDB -
关闭
net stop MongoDB
开启远程连接
编辑 mongo.cfg 文件,更改 bindip 的值,重启MongoDB服务

SpringBoot操作MongoDB
-
添加MongoDB依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> -
注入操作MongoDB操作对象
@Resource private MongoTemplate mongoTemplate;
文档的查询
-
查询所有
mongoTemplate.findAll(UserPo.class) -
查询所有(加上集合名称)
mongoTemplate.findAll(UserPo.class, "users"); -
基于id进行查询
mongoTemplate.findById("1", UserPo.class); -
条件查询(查询所有)
–参数1:查询条件
–参数2:返回类型
mongoTemplate.find(new Query(), UserPo.class); -
等值查询
Query query1 = Query.query(Criteria.where("username").is("阿笨")); mongoTemplate.find(query1, UserPo.class); -
大于 >
Query query2 = Query.query(Criteria.where("age").gt("20")); mongoTemplate.find(query2, UserPo.class); -
and
Query query3 = Query.query(Criteria.where("username").is("阿笨").and("age").is("21")); mongoTemplate.find(query3, UserPo.class); -
or
Criteria criteria = new Criteria(); criteria.orOperator( Criteria.where("username").is("阿笨"), Criteria.where("username").is("小冷") ); mongoTemplate.find(Query.query(criteria), UserPo.class); -
排序
Query query4 = new Query(); query4.with(Sort.by(Sort.Order.desc("age"))); mongoTemplate.find(query4, UserPo.class); -
分页
skip():跳过的记录数
limit():展示的记录数
Query query5 = new Query(); query5.skip(0).limit(3); mongoTemplate.find(query5, UserPo.class); -
统计数量
mongoTemplate.count(new Query(), UserPo.class); -
去重
–参数1:条件
–参数2:需要去重的字段
–参数3:返回类型
–参数4:去重字段的类型
mongoTemplate.findDistinct(new Query(), "age", UserPo.class, String.class);
文档的添加
-
save方法添加
save():只能添加单条数据,如果_id存在,则对数据做更新操作
UserPo user = new UserPo("1", "张三", "20"); mongoTemplate.save(user); -
insert方法添加
insert():可以添加一条或多条数据,_id存在时会报错
List<UserPo> userList = Arrays.asList(new UserPo("2", "阿笨", "21"), new UserPo("3", "小冷", "22")); mongoTemplate.insert(userList, UserPo.class);
文档的更新
-
更新符合条件的第一条数据
Update update1 = new Update(); update1.set("username", "王五"); mongoTemplate.updateFirst(Query.query(Criteria.where("id").is("1")), update1, UserPo.class); -
更新多条符合条件的所有数据
Update update2 = new Update(); update2.set("age", "18"); mongoTemplate.updateMulti(Query.query(Criteria.where("age").is("21")), update2, UserPo.class);
文档的删除
-
删除所有
mongoTemplate.remove(new Query(), UserPo.class); -
条件删除
mongoTemplate.remove(Query.query(Criteria.where("age").is("23")), UserPo.class);
本文介绍了MongoDB的下载和安装过程,包括使用命令行开启和关闭服务,以及设置远程连接。接着讲解了在SpringBoot中如何集成MongoDB,添加依赖,并展示了多种查询、添加、更新和删除文档的方法,包括条件查询、排序、分页和统计等功能。

被折叠的 条评论
为什么被折叠?



