我是一个mongodb noob,并且遇到了一些困难,试图使用MongoDB bulk operations创建相当于批量保存(因为我无法找到批量保存操作)。简要地说,给定的文件的数组:MongoDB Bulk Save Equivalent?
[{ _id:1, name:"a" ... }, { _id:1, name:"b" ... } ... ]
我要批量UPSERT阵列中的文件,使用_id属性作为比较字段以确定传入记录相当于已经在mongodb的记录。在伪码中我想的MongoDB批量UPSERT如下:
if(incomingDocument._id == existingDocument._id){
update(incoming) // overwrite existing document with entire incoming document
} else {
insert(incoming)
}
理想情况下,我想通过MONGO阵列和比较器VS排队个体批量操作为每个文档。
我该怎么做Bulk.find().upsert().update(<update>);
或类似的? (或者,是否有无文件批量save()操作?)
谢谢!
我在问题中提到了save()。问题是在mongodb的批量模式下获得类似于工作的东西(http://docs.mongodb.org/manual/reference/method/js-bulk/)。而且,save API只声称一次只接受一个文档,是否有办法将它传递给一个数组? – Colin 2014-10-02 20:35:57
@Colin对不起,我误解了你的问题。我不认为有'Bulk.save()'操作。 – Ernest 2014-10-02 20:53:12
不用担心。有没有办法使用批量upsert解决它? – Colin 2014-10-02 21:00:21