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