我正在开发一个使用mongo db的项目。我想将文档从一个集合复制到另一个集合,满足查询条件。我正在使用批量操作来做同样的事情。在对bulkInsert对象调用execute方法之前,我们需要从源集合中添加每个文档,这需要时间。我的问题是,有没有什么方法可以直接将查询结果从集合添加到bulkInsert对象中?以下就是我所做的。
bulkInsert = db.targetCollection.initializeUnorderedBulkOp();
bulkRemove = db.sourceCollection.initializeUnorderedBulkOp();
db.sourceCollection.find({"time":{$lt: date}}).forEach(function(doc) {
bulkInsert.insert(doc);
counter ++;
if( counter % batchSize == 0){
bulkInsert.execute();
bulkRemove.execute();
bulkInsert = db.targetCollection.initializeUnorderedBulkOp();
print("Inserted " + counter + " documents in " + targetCollection);
}
});