一、查询单个文档
@Data
//@Document是spring Data mongodb提供的一个注解。注解指定了这个模型类型所对应的集合名称。
@Document(collection = "information_tag")
public class InformationTag {
}
Query query = Query.query(Criteria.where("articleId").is(id.toString()));
InformationTag tag = mongoTemplate.findOne(query, InformationTag.class, ConstantUtils.ARTICLE_TAG);
二、查询所有文档
Pattern pattern = Pattern.compile("^.*222$",Pattern.CASE_INSENSITIVE);
Criteria criteria = new Criteria();
//phone以222结尾的 或者 name以222结尾的
criteria.orOperator(Criteria.where("phone").regex(pattern),
Criteria.where("name").regex(pattern));
//同时满足 phone以222结尾的,和name以222结尾的
criteria.andOperator(Criteria.where("phone").regex(pattern),
Criteria.where("name").regex(pattern));
Query query = new Query(criteria);
List<InformationTag> informationTag s = mongoTemplate.find(query, InformationTag.class);
三、修改文档
Query query = new Query();
query.addCriteria(Criteria.where("_id").is(1)); //_id区分引号 "1"和1
Update update = Update.update();
update.set("name", "zzzzz");
//WriteResult upsert = mongoTemplate.updateMulti(query, update, "userList"); //查询到的全部更新
//WriteResult upsert = mongoTemplate.updateFirst(query, update, "userList"); //查询更新第一条
WriteResult upsert = mongoTemplate.upsert(query, update, "userList"); //有则更新update的字段值;没有则新增, 将Query和Update 的字段值,新增文档
四、操作内嵌文档
例子ÿ