如何查找由于限制选项而被查找遗漏了多少个文档?

时间:2019-07-17 21:21:02

标签: mongodb mongodb-query pymongo pymongo-3.x

我使用find(...,limit=10000,...)方法搜索MongoDB集合,并得到了我要求的1万个文档。

是否有一种便宜的方法来估计,而无需使用limit参数就能找到多少文档?

一种明显的方法是count_documents,但我怀疑它会非常昂贵。

1 个答案:

答案 0 :(得分:0)

事实证明count_documents“足够快”。

它实际上有一个maxTimeMS自变量,用于指定

  

允许此操作运行的最长时间(以毫秒为单位)

A,达到此最大值后,您会得到

  

ExecutionTimeout:$ cursor阶段::由:: errmsg引起的错误:“操作超出了时间限制”

而不是估计文档数量(使用到目前为止的匹配数量,到目前为止看到的文档数量和estimated_document_count可以很容易地做到这一点)。

这显然是因为maxTimeMS是一个游标级别的选项,必须在游标的所有使用中具有一致的行为。