Mongodb 为什么mongo count没有';不算什么?

Mongodb 为什么mongo count没有';不算什么?,mongodb,mongodb-query,exists,Mongodb,Mongodb Query,Exists,有人知道为什么mongodb在执行接下来的3个查询时返回奇怪的结果计数吗?第一次和第二次计数的结果似乎应该等于第三次,但事实并非如此。我所做的就是计算包含某个字段的文档数+不包含该字段的文档数。。我预计这将等于文档总数: > db.col1.find({f1:{$exists:false}}).count() 0 > db.col1.find({f1:{$exists:true}}).count() 267837 > db.col1.count() 268185 可能是因为f

有人知道为什么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()