Spring MongoTemplate upsert整个对象

时间:2016-07-04 03:55:29

标签: spring upsert mongotemplate

对于Upsert MongoTemplate提供了一种方法,可以按照以下方式使用。

但是,它只会设置名称。如果我想插入与新用户对象关联的所有键,该怎么办?即除名称外,我想插入电子邮件和许多其他值。 我可以对每个项目使用set("key","name"),但是可以保存整个对象以进行upsert。

Query query = new Query();
query.addCriteria(Criteria.where("name").is("Markus"));
Update update = new Update();
update.set("name", "Nick");
mongoTemplate.upsert(query, update, User.class);

2 个答案:

答案 0 :(得分:-1)

我猜save可以为你做到这一点。这是documentation

答案 1 :(得分:-1)

mongoTemplate.save(user); or mongoTemplate.save(user,"customer");//if you need to save it in another collection name.

  

保存将执行   如果对象尚未存在则插入,否则它将更新,   这是一个' upsert'。