关闭

spring-data-mongodb之查询

标签: mongodb查询
95人阅读 评论(0) 收藏 举报
分类:

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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:448065次
    • 积分:3729
    • 等级:
    • 排名:第8661名
    • 原创:29篇
    • 转载:19篇
    • 译文:0篇
    • 评论:4条
    文章分类
    文章存档
    最新评论