我有一个MongoDB集合,当我调用db.collection.count()
时返回-1,但如果我调用db.collection.find()
,则会返回一个文档。
负数是否表明该系列存在问题?我无法在文档中找到任何内容。
我尝试将虚拟文档插入到集合中 - 这会将计数更改为2.删除此文档后,计数现在的值正确为1,只保存原始文档。
答案 0 :(得分:3)
似乎我错过了文档的这一部分:
使用有线Tiger存储器不正常关闭mongod后 引擎,count()报告的计数统计数据可能不准确。
漂移量取决于插入,更新或删除的数量 在最后一个检查点和不洁之间执行的操作 关掉。检查点通常每60秒发生一次。但是,mongod 使用非默认--syncdelay设置运行的实例可能有更多 或者不那么频繁的检查站。
对mongod上的每个集合运行validate以恢复 不正常关机后的正确统计数据。
正在运行db.unboundCollection.validate({full:true})
解决了这个问题。