Criteria |
Mongodb |
说明 |
Criteria and (String key) |
$and |
并且 |
Criteria andOperator (Criteria… criteria) |
$and |
并且 |
Criteria orOperator (Criteria… criteria) |
$or |
或者 |
Criteria gt (Object o) |
$gt |
大于 |
Criteria gte (Object o) |
$gte |
大于等于 |
Criteria in (Object… o) |
$in |
包含 |
Criteria is (Object o) |
$is |
等于 |
Criteria lt (Object o) |
$lt |
小于 |
Criteria lte (Object o) |
$lte |
小等于 |
Criteria nin (Object… o) |
$nin |
不包含 |
Criteria regex(Object… o) |
$regex |
正则匹配 |
Criteria not(Object… o) |
$not |
不存在 |
1. a=b
Query query = new Query(Criteria.where("a").is("b"));
2. 分级查询
Query query = new Query();
query.addCriteria(Criteria.where("linkUrl.id").is(linkUrlid));
mongoTemplate.find(query.limit(end - begin).skip(begin),entity.class,collectName);
3. 模糊查询
Query query = new Query();
if (conditions != null && conditions.size() > 0) {
for (Condition condition : conditions) {
query.addCriteria(Criteria.where(condition.getKey()).regex(".*?\\" +condition.getValue().toString()+ ".*"));
}
}
4.gte: 大于等于,lte小于等于
query.addCriteria(Criteria.where("time").gte(condition.getValue()));
5. 排序
query.limit(end - begin).skip(begin).with(new Sort(new Sort.Order(direction, orderField)))
6.查询字段不存在的数据
Criteria.where("goodsSummary").not()
7.查询字段不为空的数据
Criteria.where("key1").ne("").ne(null)
8.查询或语句:a || b
Criteria criteria = new Criteria();
criteria.orOperator(Criteria.where("key1").is("0"),Criteria.where("key1").is(null));
9.查询且语句:a && b
Criteria criteria = new Criteria();
criteria.and("key1").is(false);
criteria.and("key2").is(type);
Query query = new Query(criteria);
或者
Criteria criteria = new Criteria();
criteria.addOperator(Criteria .where("key1").is(false),Criteria .where("key2").is(false));
Query query = new Query(criteria);