spring-data-mongodb之查询

mongodb的查询方式很多种,此处只列举一些常用的,比如:
1.=查询
2.模糊查询
3.大于小于范围查询
4.in查询
5.or查询
6.查询一条,查询全部

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

Query query = Query.query(Criteria.where("author").is("LINLIN"));
List<Blog> blog= mongoTemplate.find(query, Blog.class);

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

query = Query.query(Criteria.where("author").is("LINLIN"));
Blog blog= mongoTemplate.findOne(query, Blog.class);

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

blogs = mongoTemplate.findAll(Blog.class);

查询符合条件的数量

query = Query.query(Criteria.where("author").is("LINLIN"));
long count = mongoTemplate.count(query, Blog.class);

根据主键ID查询

blog= mongoTemplate.findById(new ObjectId("598a713da5f1ba647ba0d744"), Blog.class);

in查询

query = Query.query(Criteria.where("MuNan").in(visitor));
blogs= mongoTemplate.find(query, Blog.class);

ne(!=)查询

query = Query.query(Criteria.where("author").ne("LINLIN"));
blogs= mongoTemplate.find(query, Blog.class);

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

query = Query.query(Criteria.where("visitorCount").lt(1000));
blogs= mongoTemplate.find(query, Blog.class);

范围查询,大于249小于251

query = uery.query(Criteria.where("visitCount").gt(249).lt(251));
blogs= mongoTemplate.find(query, Blog.class);

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

query = Query.query(Criteria.where("author").regex("L"));
blogs= mongoTemplate.find(query, Blog.class);

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

query = Query.query(Criteria.where("tags").size(3));
blogs= mongoTemplate.find(query, Blog.class);

or查询,查询author=LINLIN的或者visitorCount=10000的数据

query = Query.query(Criteria.where("").orOperator(
    Criteria.where("author").is("jason"),
    Criteria.where("visitorCount").is(0)));
blogs = mongoTemplate.find(query, Blog.class);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值