我使用find(...,limit=10000,...)
方法搜索MongoDB集合,并得到了我要求的1万个文档。
是否有一种便宜的方法来估计,而无需使用limit
参数就能找到多少文档?
一种明显的方法是count_documents
,但我怀疑它会非常昂贵。
答案 0 :(得分:0)
事实证明count_documents
“足够快”。
它实际上有一个maxTimeMS
自变量,用于指定
允许此操作运行的最长时间(以毫秒为单位)
A,达到此最大值后,您会得到
ExecutionTimeout:$ cursor阶段::由:: errmsg引起的错误:“操作超出了时间限制”
而不是估计文档数量(使用到目前为止的匹配数量,到目前为止看到的文档数量和estimated_document_count
可以很容易地做到这一点)。
这显然是因为maxTimeMS
是一个游标级别的选项,必须在游标的所有使用中具有一致的行为。