count () и find () не совпадают - PullRequest
       6

count () и find () не совпадают

0 голосов
/ 29 августа 2018

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 не совпадают.

Кто-нибудь знает или сталкивался с подобной проблемой?

1 Ответ

0 голосов
/ 30 августа 2018

Мое решение состоит в том, чтобы сравнивать данные из массового результата вставки и массового результата удаления вместо результата подсчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...