MongoTemplate基本使用
一、普通查询操作
1.is查询
Query query = new Query();
query.addCriteria(Criteria.where("数据库字段名").is("你的参数"));
mongoTemplate.findOne(query, Class.class);
mongoTemplate.find(query, Class.class);
2.in查询
ArrayList<String> list = new ArrayList<>();
Query query = Query.query(Criteria.where("数据库字段").in(list));
mongoTemplate.find(query, Class.class);
Query query = Query.query(Criteria.where("数据库字段(数组)").is("你的数组"));
例如你的数据是1
数据库中的数据为
[1,2,3]
就可以用上面的第二种方法
3.字符模糊查询
Query query = Query.query(Criteria.where("name").regex("小"));
4.指定字段不返回
query.fields().exclude("field");
5.数组中添加或删除一条数据
Query query = Query.query(Criteria.where("_id").is("id"));
Update update = new Update();
update.push("字段名称", "data");
mongoTemplate.updateFirst(query, update, Class.class);
6.批量添加
ArrayList<Class> list = new ArrayList<>();
mongoTemplate.insert(list, Class.class);
7.数组查询
数组格式:
{
name:"小明",
age:13,
friends:[
{
name:"小王",
age:12
},
{
name:"小李",
age:18
}
]
}
当要查询朋友中姓名为小王时
Query query = new Query();
query.addCriteria(Criteria.where("friends.$.name").is("小王"));
mongoTemplate.find(query, User.class);
同样更新时也是一样
Update update = Update.update("friends.$.friends", "小赵");
|