有谁知道为什么 mongodb 在执行接下来的 3 个查询时返回奇怪的结果计数?看起来第一次和第二次计数的结果应该等于第三次,但事实并非如此。我所做的就是计算包含某个字段的文档数 + 不包含该字段的文档数。我希望这等于文档总数:
> db.col1.find({f1:{$exists:false}}).count()
0
> db.col1.find({f1:{$exists:true}}).count()
267837
> db.col1.count()
268185
最佳答案
可能是因为您在 f1 字段上有一个稀疏索引? 如果是这样,试试看它们是否匹配:
db.col1.find({f1:{$exists:false}}).hint({f1:1}).count()
db.col1.find({f1:{$exists:false}}).hint({_id:1}).count()
关于mongodb - 为什么 mongo 计数不加起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27899114/