MongoDB在单个文档中存在重复密钥



相对noob。我有一个MongoDB集合,其中一个密钥似乎在文档中重复了。文档计数为13603,但按关键字进行聚合并计数结果为13604。我已经跑了3次,间隔30分钟,所以我知道这不是时间问题。我正试图找到具有重复密钥的文档,但对聚合的理解不足以找到它。

我在这里找到了类似的线索,但我看不到找到";腐败;集合中的文档。

这不是跨文档的重复密钥或重复的文档问题;它是同一文档问题中的重复密钥。感谢您的帮助。

将文档计数与密钥聚合计数进行比较的屏幕截图

这很可能是不正确的:

db.collection.count() 

在这里检查这张票

尝试用这个计数:

db.collection.countDocuments({})

db.collection.count((只是读取集合计数元数据,它很快但不准确,尤其是在分片集群中,因为有时集合元数据中有未更新的孤立文档,您需要清理孤立文档,然后重试。

来自文件:

避免在没有查询谓词的情况下使用db.collection.count((方法,因为如果没有查询谓词,该方法将根据集合的元数据返回结果,这可能会导致近似计数。特别是

在分片集群上,生成的计数将无法正确筛选出孤立文档。不干净关机后,计数可能不正确。有关基于集合元数据的计数,请参阅带有count选项的collStats管道阶段。

最新更新