背景
业务需要使用mongoTemplate来保存或更新、查询mongoDB文档数据
语言:Java
框架:springboot(并没有什么关系)
使用
upsert
该操作意如其名,不满足则insert,满足则update;
Query query = new Query();
query.addCriteria(Criteria.where("key1.subkey1").is("value")
.and("key1.subkey2").is("value"));
T result = mongoTemplate.findOne(query, T.class, "collectionName");
if(null == result){
mongoTemplate.insert(${your data}, "collectionName");
}else{
Update update = Update.update("key1.subkey", value);
mongoTemplate.update(query, update, JsonObject.class, "collectionName");
}
条件查询
Query query = new Query();
query.addCriteria(Criteria.where("key1.subkey1").is("value")
.and("key1.subkey2").is("value"));
T result = mongoTemplate.findOne(query, T.class, "collectionName");
result.get("key1").get("subkey1");
有问题欢迎留言