mongoTemplate简单API

mongoTemplate简单API

  • 不足之处欢迎留言

1、介绍

​​​​​​MongoTemplate基于​spring-data-mongo支持,springboot项目中引入核心依赖

<!--mongo-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2、简单API

(1)查询

简单条件查询:BasicDBObject来封装

复杂条件查询:Query query用来封装查询条件

(1)查询全部=====db.集合名.find()

mongoTemplate.findAll(Class<T> entityClass, String collectionName) 

(2)查询符合条件中的第一条=====db.集合名.findOne(条件)

mongoTemplate.findOne(Query query, Class<T> entityClass, String collectionName)

(3)带条件查询=====db.集合名.find(条件)

mongoTemplate.find(Query query, Class<T> entityClass, String collectionName)

Query使用

1、创建一个query对象(用来封装所有条件对象),

     再创建一个criteria对象(用来构建条件)

2、精准条件:criteria.and(“key”).is(“条件”)

     模糊条件:criteria.and(“key”).regex(“条件”)

3、封装条件:query.addCriteria(criteria)

4、大于(创建新的criteria):Criteria gt = Criteria.where(“key”).gt(“条件”)

     小于(创建新的criteria):Criteria lt = Criteria.where(“key”).lt(“条件”)

5、Query.addCriteria(new Criteria().andOperator(gt,lt));

6、一个query中只能有一个andOperator()。其参数也可以是Criteria数组。

7、排序  :query.with(new Sort(Sort.Direction.ASC, "age"). and(new Sort(Sort.Direction.DESC, "date")))

(2)新增

MongoTemplate实现了MongoOperations接口

1、mongoTemplate.insert()-------------(MongoTemplate中)

2、mongoTemplate.save()--------------(MongoOperations中)

区别

insert: 若新增数据的主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常提示主键重复,不保存当前数据。
save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。

insert: 可以一次性插入一整个列表,而不用进行遍历操作,效率相对较高
save: 需要遍历列表,进行一个个的插入。

(3)删除

mongoTemplate.remove(Query query,Class<T> entityClass)

(4)修改

Update update = Update.update("要更新的字段", "更新的值");

1、方式一

mongoTemplate.upsert(query, update, Class<T> entityClass);

2、方式二

更新满足条件的第一条数据

mongoTemplate.updateFirst(query, update, Class<T> entityClass);

更新所有满足条件的数据

mongoTemplate.updateMulti(query, update, Class<T> entityClass);

区别

upsert:如果query条件没有筛选出对应的数据,那么upsert会插入一条新的数据。

update:如果query条件没有筛选出对应的数据,那么什么都不做。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoTemplate是Spring Data MongoDB库中提供的API,用于在Java应用程序中与MongoDB数据库交互。 MongoTemplate提供了一系列方法,用于执行CRUD操作(创建、读取、更新、删除数据)。例如,我们可以使用MongoTemplate的insert()方法向数据库插入新的文档数据,使用find()方法查询特定的文档数据,使用update()方法更新文档数据,使用remove()方法删除文档数据等。这些方法都提供了多种重载形式,可以根据具体需求选择使用。 除了常规的CRUD操作外,MongoTemplate还提供了丰富的查询功能。可以使用查询构建器(Query)构建复杂的查询条件,可以使用Criteria对象添加约束条件,可以使用Sort对象指定查询结果的排序方式等。另外,MongoTemplate还支持分页查询,以及支持原生查询语句的执行。 MongoTemplate还提供了一些高级功能,例如,可以通过指定查询字段的方式来进行字段选择,可以使用强类型查询来增加查询的安全性,可以进行聚合操作,可以进行地理位置查询等。 此外,MongoTemplate还支持事务管理。它可以与Spring的事务管理器(Transaction Manager)进行集成,保证多个操作的原子性。 总之,MongoTemplate是一个功能强大、易于使用的MongoDB数据库访问工具,它提供了丰富的API,可以满足不同场景下的数据访问需求。无论是简单的数据操作还是复杂的查询与分析,MongoTemplate都能提供便捷的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值