MongoDB中使用Criteria查询:常用语法总结

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…

在这里插入图片描述

1、 查询字段不为空的数据

使用ne

Criteria.where("key").ne("").ne(null)

使用nin

Criteria criteria = where("key").nin("", null)

补充查询某个字段是否存在 : 想要筛选某个字段是否存在的时候,就可以使用$exists去进行筛选。

  Criteria criteria = where("key").exists(true)

一般exists可以搭配如上ne,nin使用

2、 查询或语句:a || b

Criteria criteria = new Criteria();  
criteria.orOperator(Criteria.where("key").is("value"),Criteria.where("key1").is("value1"));  

3、查询或语句:a &(b || c)

    Criteria criteria = Criteria.where("key").is("value");
    Criteria criteria1 = where("key1").is("value1");
    Criteria criteria2 = where("key2").is("value2");
    criteria.orOperator(criteria1, criteria2);

4、 in的语法使用

 Criteria criteria = Criteria.where("key").in("value","value1");

5、 大于、小于

备注:数字,时间等常用此比较,时间 > #时间

Criteria.where("age").gt(18)   // 大于
Criteria.where("age").gte(18)  // 大于等于
Criteria.where("age").lt(18)   // 小于
Criteria.where("age").lte(18)  // 小于等于
Criteria.where("age").is(18)   // 等于
Criteria.where("age").ne(18)   // 不等于
Criteria.where("name").in("a", "b")  // 在集合中
Criteria.where("name").nin("a", "b") // 不在集合中

6、正则匹配

Criteria.where("name").regex("pattern") // 正则匹配

7、 A & B

Criteria.where("key1").is(value1).and("key2").is(value2)

8、 查询指定字段

在MongoDB中使用Criteria查询指定字段,可以使用fields()方法。fields()方法用于设置需要返回的字段,可以使用include()方法设置需要返回的字段,也可以使用exclude()方法设置排除的字段。例如,需要查询collectionName集合中name和age字段,代码如下:

Query query = new Query();
query.addCriteria(Criteria.where("gender").is("male"));
query.fields().include("name").include("age");
List<Document> results = mongoTemplate.find(query, Document.class, "collectionName");

这里使用include()方法将name和age字段包含进来。如果需要排除指定字段,可以使用exclude()方法,例如:

Query query = new Query();
query.addCriteria(Criteria.where("gender").is("male"));
query.fields().exclude("address").exclude("phone");
List<Document> results = mongoTemplate.find(query, Document.class, "collectionName");

在这里插入图片描述


相关文章

文章浏览阅读552次。com.mongodb.MongoQueryException: Quer...
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQ...
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atla...
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_sprin...
文章浏览阅读673次。MongoDB 简介_尚医通sql