MongoTemplate通过Query条件指定查询条件和返回字段

1、介绍

Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作。

2、MongoDB的查询语法

  db.orders.find({{<field1>:<value1>,<field2>: <value2>, ... } },{field1:<boolean>, field2: <boolean> ... })

3、 mongoTemplate.find (query, entityClass)参数说明

 query:查询的内容(下面进行详细的介绍)
 entityClass:实体class,也就是要把文档转换成对应的实体。

4、Query (Criteria criteria)–构造函数

org.springframework.data.mongodb.core.query
 参数Criteria :org.springframework.data.mongodb.core.query.Criteria

Criteria是标准查询的接口,可以引用静态的Criteria.where的把多个条件组合在一起,就可以轻松地将多个方法标准和查询连接起来,方便我们操作查询语句。

例如: 
查询条件onumber="1234"
mongoTemplate.find (new Query(Criteria.where("onumber").is("1234")),entityClass)

多个条件(and)组合查询时:onumber="1234" and cname="zcy"
(这里可以将第一个参数条件抽取出来,这样更加方便我们查看)

Query query = Query.query(Criteria.where("onumber").is("1234").and("cname").is("zcy"));
mongoTemplate.find (query,entityClass)

多个条件(or)组合查询时:onumber="1234" or cname="zcy"
mongoTemplate.findOne(newQuery(newCriteria().orOperator(Criteria.where("onumber").is("1234"),Criteria.where("cname").is("zcy"))),entityClass); 

Criteria提供了很多方法,这里只展示一些常用的方法,如下图所示。
在这里插入图片描述
5、MongoTemplate的findOne方法查询

findOne返回满足指定查询条件的文档,如果多个文档满足查询,该方法返回第一个文档,根据自然顺序返回文件在磁盘上的顺序,在覆盖的集合中,自然顺序与插入顺序相同。如果没找到对应的文档,会返回null。

mongoTemplate.findOne(query,entityClass)
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值