在MongoDB中,Criteria是指查询条件,可以用于查询操作,使用Criteria可以对查询结果进行过滤和限制。在Java中,MongoDB提供了Criteria类来构建查询条件,常用的方法有:
- eq方法:等于某个值的条件,例如:
Criteria.where("name").eq("John")
- ne方法:不等于某个值的条件,例如:
Criteria.where("age").ne(18)
- gt方法:大于某个值的条件,例如:
Criteria.where("score").gt(90)
- gte方法:大于等于某个值的条件,例如:
Criteria.where("score").gte(90)
- lt方法:小于某个值的条件,例如:
Criteria.where("score").lt(60)
- lte方法:小于等于某个值的条件,例如:
Criteria.where("score").lte(60)
- in方法:包含某些值的条件,例如:
Criteria.where("name").in("John", "Mike", "Tom")
- nin方法:不包含某些值的条件,例如:
Criteria.where("name").nin("John", "Mike", "Tom")
- and方法:多条件and查询,例如:
Criteria.where("age").gt(18).and("name").in("John", "Mike")
- or方法:多条件or查询,例如:
Criteria.where("age").gt(18).orOperator(Criteria.where("name").is("John"), Criteria.where("name").is("Mike"))
以上是MongoDB中Criteria的常用方法,使用这些方法可以构建复杂的查询条件。
在mongodb中,new Criteria()是Spring Data MongoDB中的一个类,用于构建查询条件。
具体用法如下:
- 创建Criteria对象
通过new Criteria()创建一个Criteria对象,然后通过Criteria对象的各种方法来设置查询条件。
例如:
Criteria criteria = new Criteria();
criteria.and("name").is("Tom").and("age").gte(18);
这个Criteria对象表示查询name为Tom且age大于等于18的文档。
- 设置查询条件
通过Criteria对象的方法来设置查询条件,比如and()、or()、is()、ne()、in()、nin()、lt()、lte()、gt()、gte()等等。
例如:
criteria.and("name").is("Tom").and("age").gte(18);
这个方法表示查询name为Tom且age大于等于18的文档。
- 使用Criteria对象进行查询
可以将Criteria对象传递给MongoTemplate的查询方法中,例如:
Query query = new Query(criteria);
List<User> users = mongoTemplate.find(query, User.class);
这个方法表示查询符合Criteria对象条件的User类文档列表。
总结一下,new Criteria()的用法主要包括创建Criteria对象、设置查询条件和使用Criteria对象进行查询。