多个文档,我有一些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
散装做更新的