多個文檔,我有一些40000條記錄,我需要更新planId字段和記錄複製到同一個集合。 現在我使用的基本MongoDB的複製和更新在同一個集合
linkModel.find({},callback) & linkModel.insertMany([linksArray],callback)
但它佔用了大量的時間。 我已經試過了,但聚集,而我想更新它不能代替$out
運營商替換現有的集合。
到目前爲止,我已經嘗試了三個步驟:
db.links.aggregate([ { $match: { planId: ObjectId("5732f50a6886e5421259e823") } }, { $out: "temp" } ]);
db.temp.updateMany({planId:ObjectId("5732f50a6886e5421259e823")},{$set:{planId:ObjectId("5791b25f203b5e92316e60c3")}})
db.temp.copyTo("links")
,
但即使CopyTo方法將是緩慢的。 對此有更快的方法嗎?使用Bulk API
散裝做更新的