MongoDB 3.6.2
我已经使用forEach执行了具有从源集合和批量插入到目标集合的计数过程的脚本,并且我声明了要在forEach函数中计数的变量,以比较两个步骤中的计数值,但不匹配。
计数过程
sourceCnt = db.sourceCollection.count({ xid : {$gte : ObjectId.fromDate(startDT), $lt : ObjectId.fromDate(endDT)}})
批量插入
var bulkIns = db.targetCollection.initializeUnorderedBulkOp();
db.sourceCollection.find({ xid : {$gte : ObjectId.fromDate(startDT), $lt : ObjectId.fromDate(endDT)}}).forEach(function(doc){
bulkIns.insert(doc);
targetCnt++
})
sourceCnt和targetCnt的值不同。
有人知道或遇到过类似的问题吗?
答案 0 :(得分:0)
我的解决方案是比较批量插入结果和批量删除结果中的数据,而不是计数结果。