【辰兮要努力】: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");
原文地址:https://blog.csdn.net/weixin_45393094/article/details/134587673
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。