我正在寻找其他人可能想出的想法和解决方案,使用upo(或类似的)来使用MongoTemplate更新集合(如果可能的话)。
下面是一个简单的片段:我想要做的就是使用“upsert”之类的功能,其中“items”表示映射到集合的obj。
for(int i=0;i<items.size();i++){
mongoTemplate.insert(items.get(i));
}
感谢您的帮助和感恩节快乐!
答案 0 :(得分:1)
通常,更新具有以下形式:
db.collection.update( criteria, objNew, upsert, multi )
where条件指定要更新的文档,objNew指定要替换旧文档的新文档,upsert是一个布尔值,当为true时,执行upsert(如果记录不存在,则创建一个),multi是a boolean告诉mongo所有符合条件的文件都应该更新(不只是一个 - 这是默认的)
我从here
获得了这些信息我不熟悉MongoTemplate,但我查看了文档,似乎他们的更新功能支持upsert功能。您应该能够通过将一个真值布尔值作为第三个参数传递给更新调用来使用它。
我在描述here
的doUpdate方法中看到了这一点如果有效,请告诉我。