目录
常用查询:
查询一条数据
精确匹配is
Query(Criteria.where("id").is(id));
模糊匹配regex
Criteria criteria = new Criteria();
Pattern pattern = Pattern.compile("^.*" + keyword + ".*$", Pattern.CASE_INSENSITIVE);
criteria.orOperator(Criteria.where("name").regex(pattern),
Criteria.where("phone").regex(pattern),
Criteria.where("nickname").regex(pattern));
query.addCriteria(criteria);
查询子元素集合:image.id
Query query = new Query();
query.addCriteria(Criteria.where("image.id").is(imageId));
gte: 大于等于,lte小于等于...
注意查询的时候各个字段的类型要和mongodb中数据类型一致
query.addCriteria(Criteria.where("create").gte(d1).lte(d2));
查询字段不存在的数据not
query.addCriteria(Criteria.where("age").not());
查询数量:
long total = mongoTemplate.count(query, Project.class);
常用更新
更新第一条数据的一个字段:
mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)),
Update.update("name", "张三123"), User.class);
更新一条数据的多个字段:
//调用更新
Update update = new Update();
update.set("key123", "123");
update.set("key1234", "1234");
update.set("key1235", "1235");
mongoTemplate.updateMulti(new Query(Criteria.where("id").is(id)), update, User.class);
常用删除
删除:
mongoTemplate.remove(new Query(Criteria.where("id").is(id)), User.class);