前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring-data-mongodb之查询操作

spring-data-mongodb之查询操作

作者头像
猿天地
发布2018-04-03 12:29:27
2.3K0
发布2018-04-03 12:29:27
举报
文章被收录于专栏:猿天地猿天地

查询,无论是关系型数据库还是mongodb这种nosql,都是使用比较多的,大部分操作都是读的操作。 mongodb的查询方式很多种,下面只列了一些常用的,比如: 1.=查询 2.模糊查询 3.大于小于范围查询 4.in查询 5.or查询 6.查询一条,查询全部 7.自己慢慢学习...

根据作者查询所有符合条件的数据,返回List<Article>

代码语言:javascript
复制
Query query = Query.query(Criteria.where("author").is("yinjihuan"));List<Article> articles = mongoTemplate.find(query, Article.class);

只查询符合条件的第一条数据,返回Article对象

代码语言:javascript
复制
query = Query.query(Criteria.where("author").is("yinjihuan"));Article article = mongoTemplate.findOne(query, Article.class);

查询集合中所有数据,不加条件

代码语言:javascript
复制
articles = mongoTemplate.findAll(Article.class);

查询符合条件的数量

代码语言:javascript
复制
query = Query.query(Criteria.where("author").is("yinjihuan"));
long count = mongoTemplate.count(query, Article.class);

根据主键ID查询

代码语言:javascript
复制
article = mongoTemplate.findById(new ObjectId("57c6e1601e4735b2c306cdb7"), Article.class);

in查询

代码语言:javascript
复制
List<String> authors = Arrays.asList("yinjihuan", "jason");
query = Query.query(Criteria.where("author").in(authors));
articles = mongoTemplate.find(query, Article.class);

ne(!=)查询

代码语言:javascript
复制
query = Query.query(Criteria.where("author").ne("yinjihuan"));
articles = mongoTemplate.find(query, Article.class);

lt(<)查询访问量小于10的文章

代码语言:javascript
复制
query = Query.query(Criteria.where("visitCount").lt(10));
articles = mongoTemplate.find(query, Article.class);

范围查询,大于5小于10

代码语言:javascript
复制
query = Query.query(Criteria.where("visitCount").gt(5).lt(10));
articles = mongoTemplate.find(query, Article.class);

模糊查询,author中包含a的数据

代码语言:javascript
复制
query = Query.query(Criteria.where("author").regex("a"));
articles = mongoTemplate.find(query, Article.class);

数组查询,查询tags里数量为3的数据

代码语言:javascript
复制
query = Query.query(Criteria.where("tags").size(3));
articles = mongoTemplate.find(query, Article.class);

or查询,查询author=jason的或者visitCount=0的数据

代码语言:javascript
复制
query = Query.query(Criteria.where("").orOperator(    Criteria.where("author").is("jason"),    Criteria.where("visitCount").is(0)));
articles = mongoTemplate.find(query, Article.class);

源码下载:https://github.com/yinjihuan/cxytiandi

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档