首页 > 解决方案 > MongoDB 的估计计数查询有多准确?

问题描述

官方的 MongoDB 驱动程序提供了“计数”和“估计文档计数”API,据我所知,前一个命令是高度内存密集型的,因此建议在需要它的情况下使用后者。

但是这个估计的文档数量有多准确?在生产环境中可以信任计数,还是在需要绝对准确性时使用推荐的计数 API?

标签: mongodb

解决方案


比较这两者,对我来说,很难想象出一个你想要使用countDocuments()whenestimatedDocumentCount()是一个选项的场景。

即 is 的等价形式,estimatedDocumentCount()countDocuments({})空查询过滤器。第一个函数的成本是O(1); 第二个是O(N),如果N非常大,成本将令人望而却步。

两者都返回一个计数,在部署 Mongo 的场景中,它可能是非常短暂的,即,随着集合的变化,当你拥有它时它是不准确的。


推荐阅读