这听起来很奇怪,我希望我做错了什么,但我的MongoDB
集合返回的Count
比我的集合中的数量少了一个。
我有一个(我确定)有359671个文档的集合。但是count()
命令返回359670个文档。
我正在使用mongo shell执行count()
命令:
rs0:PRIMARY> db.COLLECTION.count()
359670
这是错误的。
它没有找到我集合中的每一个文档。
如果我提供以下查询给计数器,我会得到正确的结果:
rs0:PRIMARY> db.COLLECTION.count({_id: {$exists: true}})
359671
我认为这是WiredTiger的一个bug。据我所知,每个文档都具有相同的定义,即一个_id字段,整数范围从0到359670,以及一个BinData字段。我在旧存储引擎(或Mongo 2)中没有遇到过这个问题,这可能是引起问题的原因。
这是我做错了什么吗?我不想使用{_id: {$exists: true}}
查询,因为那需要更长的时间来完成。