Criteria类来构建查询条件,常用的方法有:
1eq方法:等于某个值的条件,
例如:
Criteria.where("name").eq("John")
2 ne方法:不等于某个值的条件
例如:
Criteria.where("age").ne(18)
3 gt方法:大于某个值的条件
例如:
Criteria.where("score").gt(90)
4 gte方法:大于等于某个值的条件
例如:
Criteria.where("score").gte(90)
5 lt方法:小于某个值的条件
例如:
Criteria.where("score").lt(60)
6 lte方法:小于等于某个值的条件
例如:
Criteria.where("score").lte(60)
7 in方法:包含某些值的条件
例如:
Criteria.where("name").in("John", "Mike", "Tom")
8 nin方法:不包含某些值的条件
例如:
Criteria.where("name").nin("John", "Mike", "Tom")
9 and方法:多条件and查询
例如:
Criteria.where("age").gt(18).and("name").in("John", "Mike")
10 or方法:多条件or查询,
例如:
Criteria.where("age").gt(18).orOperator(Criteria.where("name").is("John"), Criteria.where("name").is("Mike"))
11 区间查询
Criteria criteriaInfo =
Criteria.where("Time").gte(search.getStartTime()).lte(search.getEndTime());
12 andOperator(Criteria... criteria)
和 orOperator(Criteria... criteria)
方法:这些方法允许您组合多个条件,以使用“和”或“或”逻辑将它们连接起来。
13 is(String key)
方法:用于指定要匹配的字段名。
14 is(Object value)
方法:用于指定要匹配的值。
15 regex(String regex)
方法:用于指定一个正则表达式,可以用于模糊匹配或模式匹配。
16 exists(boolean exists)
方法:用于指定一个字段是否存在于文档中。
17 not()
方法:用于指定要否定的条件。
18 lt(Object value)
、lte(Object value)
、gt(Object value)
、gte(Object value)
方法:用于指定小于、小于或等于、大于、大于或等于某个值的条件。
19 mod(long divisor, long remainder)
和 allElementsMatch(Criteria criteria)
方法:用于指定模数条件和所有元素匹配条件。
20 where(String key)
方法:指定要匹配的字段名。
21 elemMatch(Criteria criteria)
方法:指定数组中至少一个元素满足给定的条件。