gpt4 book ai didi

mongodb 计数与使用计数查找

转载 作者:行者123 更新时间:2023-12-04 12:25:27 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Difference between count() and find().count() in MongoDB

(5 个回答)


4年前关闭。




我正在对 mongo(版本 2.4 和 3.2)集合中的文档进行计数。馆藏很大,3821085个文档。我需要用引用来计算所有文档 _id .我尝试了两种不同的查询:
db.SampleCollection.find({"field._id" : ObjectId("UUID")}).count()db.SampleCollection.count({"field._id" : ObjectId("UUID")})
此查询需要很长时间。太多时间我没有让它完成,超过 5 分钟,我害怕并杀死它。

对于此系列 field._id不是索引。我没有相关信息可以在此查询中使用索引。

有没有更好的方法来计算 mongo 中的文档。

更新 :

我知道我需要一个关于该字段的索引 field._id .如果我确实有该领域的索引,哪种方法在大型集合上的表现会更好 db.SampleCollection.find(...).count()db.SampleCollection.count(...) ?或者两者之间没有区别?

最佳答案

在您的场景中,您应该有一个索引。
Indexes
索引支持在 MongoDB 中高效执行查询。如果没有索引,MongoDB 必须执行集合扫描,即扫描集合中的每个文档,以选择那些与查询语句匹配的文档。
更新:
现在提出的问题有所不同。
collection.find({}).count()更快 collection.count() ?
根据 MongoDB 文档:
db.collection.count()
count() 等效于 db.collection.find(query).count() 构造。

关于mongodb 计数与使用计数查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com