子查询的输出与 MongoDb 中的总数有何不同
How output of a sub-query can be different from the total in MongoDb
我使用聚合操作合并了“_id”上的两个不同集合。我发现没有匹配的记录,所以我简单地添加了一条。后来,我查询了最终的集合,得到了这些奇怪的结果。
db.5k_irrelavant.find({}).count();
11001
db.5k_irrelavant.find({"Language": {$eq : "English"}}).count();
11519
db.5k_irrelavant.distinct("Language");
[
"English"
]
合并时,我确保所有文档中都应包含 "Language": "English" 字段。第三个查询清除它。奇怪的是,输出集合中所有文档的第一个查询比第二个查询的文档数少 518 个文档。怎么可能?我本可以换个方式。我不明白这是为什么。理想情况下,两个查询都应该输出相同的数字。有什么建议吗?
如果您使用的是 'WiredTiger' 引擎,当发生意外或强制关闭时,count()
结果可能会出现问题。
我使用聚合操作合并了“_id”上的两个不同集合。我发现没有匹配的记录,所以我简单地添加了一条。后来,我查询了最终的集合,得到了这些奇怪的结果。
db.5k_irrelavant.find({}).count();
11001
db.5k_irrelavant.find({"Language": {$eq : "English"}}).count();
11519
db.5k_irrelavant.distinct("Language");
[
"English"
]
合并时,我确保所有文档中都应包含 "Language": "English" 字段。第三个查询清除它。奇怪的是,输出集合中所有文档的第一个查询比第二个查询的文档数少 518 个文档。怎么可能?我本可以换个方式。我不明白这是为什么。理想情况下,两个查询都应该输出相同的数字。有什么建议吗?
如果您使用的是 'WiredTiger' 引擎,当发生意外或强制关闭时,count()
结果可能会出现问题。