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);