为啥mongo计数不加起来?
Posted
技术标签:
【中文标题】为啥mongo计数不加起来?【英文标题】:why mongo count doesn't add up?为什么mongo计数不加起来? 【发布时间】:2015-01-12 09:48:15 【问题描述】:有谁知道为什么 mongodb 在执行接下来的 3 个查询时返回奇怪的结果计数?似乎第一次和第二次计数的结果应该等于第三次,但事实并非如此。我所做的只是计算包含某个字段的文档的数量+不包含该字段的文档的数量。我希望这等于文档的总数:
> db.col1.find(f1:$exists:false).count()
0
> db.col1.find(f1:$exists:true).count()
267837
> db.col1.count()
268185
【问题讨论】:
【参考方案1】:也许是因为您在 f1 字段上有一个稀疏索引? 如果这是真的,试试这个,看看它们是否匹配:
db.col1.find(f1:$exists:false).hint(f1:1).count()
db.col1.find(f1:$exists:false).hint(_id:1).count()
【讨论】:
以上是关于为啥mongo计数不加起来?的主要内容,如果未能解决你的问题,请参考以下文章