spring-data-mongodb之查询

来源:互联网 发布:网易广州网签数据 编辑:程序博客网 时间:2024/06/06 08:47

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);
原创粉丝点击