Это звучит странно, и я надеюсь, что делаю что-то не так, но моя коллекция MongoDB
возвращает Count
на единицу в моей коллекции.
У меня есть коллекция с (я уверен) 359671 документами. Однако команда count()
возвращает 359670 документов.
Я выполняю команду count()
, используя оболочку mongo:
rs0:PRIMARY> db.COLLECTION.count()
359670
Это неверно.
Он не находит каждый документ в моей коллекции.
Если я предоставлю следующий запрос для подсчета, я получу правильный результат:
rs0:PRIMARY> db.COLLECTION.count({_id: {$exists: true}})
359671
Я считаю, что это ошибка в WiredTiger. Насколько мне известно, каждый документ имеет одно и то же определение, поле _id с целым числом в диапазоне от 0 до 359670 и поле BinData. У меня не было этой проблемы со старым механизмом хранения (или Mongo 2, который мог вызвать проблему).
Это я что-то не так сделал? Я не хочу использовать запрос {_id: {$exists: true}}
, поскольку он занимает в 100 раз больше времени.