我是一個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