这听起来很奇怪,我希望我做错了什么,但我的MongoDB
收藏正在我的收藏中退还Count
一个。
我有一个包含(我确定)359671 个文档的集合。但是该count()
命令返回 359670 个文档。
我正在count()
使用 mongo shell 执行命令:
rs0:PRIMARY> db.COLLECTION.count()
359670
这是不正确的。
它不是在我的收藏中找到每一个文件。
如果我提供以下查询来计数,我会得到正确的结果:
rs0:PRIMARY> db.COLLECTION.count({_id: {$exists: true}})
359671
我相信这是 WiredTiger 中的一个错误。据我所知,每个文档都有相同的定义,一个从 0 到 359670 的整数的 _id 字段和一个 BinData 字段。较旧的存储引擎(或 Mongo 2,两者都可能导致问题)没有这个问题。
这是我做错了什么吗?我不想使用{_id: {$exists: true}}
查询,因为这需要 100 倍的时间才能完成。