【发布时间】:2022-11-27 05:56:43
【问题描述】:
我正在运行 MongoDB 6.0.3 副本集。我有一系列产品,我想计算与我的过滤器匹配的产品数量。但是,当我运行 find() 时,我返回了大约 23 个结果,但是当我运行 count() 时,我得到了 706 个匹配文档的计数。这里可能是什么问题?
replicaset-01 [primary] mydb> db.products.find({company_name:"Acme", image:''}).count()
706
replicaset-01 [primary] mydb> db.products.find({company_name:"Acme", image:''}, {_id:1})
[
{ _id: ObjectId("636bd5459a8d7621aa490a03") },
{ _id: ObjectId("636bd5459a8d7621aa490b46") },
{ _id: ObjectId("636bd5459a8d7621aa490b0e") },
{ _id: ObjectId("636bd5459a8d7621aa490b4d") },
{ _id: ObjectId("636bd5459a8d7621aa4909a2") },
{ _id: ObjectId("636bd5459a8d7621aa490b06") },
{ _id: ObjectId("636bd5459a8d7621aa4909a3") },
{ _id: ObjectId("636bd5469a8d7621aa490c52") },
{ _id: ObjectId("636bd5469a8d7621aa490d12") },
{ _id: ObjectId("636bd5469a8d7621aa490c98") },
{ _id: ObjectId("636bd5459a8d7621aa490949") },
{ _id: ObjectId("636bd5459a8d7621aa4909e3") },
{ _id: ObjectId("636bd5459a8d7621aa490a80") },
{ _id: ObjectId("636bd5459a8d7621aa490b6d") },
{ _id: ObjectId("636bd5459a8d7621aa4909eb") },
{ _id: ObjectId("636bd5459a8d7621aa490b50") },
{ _id: ObjectId("636bd5469a8d7621aa490b93") },
{ _id: ObjectId("636bd5459a8d7621aa490940") },
{ _id: ObjectId("636bd5479a8d7621aa4911a1") },
{ _id: ObjectId("636bd5479a8d7621aa491070") }
]
【问题讨论】:
-
@rickhg12hs 说的。此外,如果要计算游标中的文档数,可以将 .itcount() 附加到
.find()上。 -
谢谢@rickhg12hs - 我觉得在文档中遗漏了它是很愚蠢的。请随时发布答案,以便我接受。
标签: mongodb mongodb-replica-set