MongoDB集合计数返回-1

时间:2017-12-18 11:30:21

标签: mongodb

我有一个MongoDB集合,当我调用db.collection.count()时返回-1,但如果我调用db.collection.find(),则会返回一个文档。

负数是否表明该系列存在问题?我无法在文档中找到任何内容。

我尝试将虚拟文档插入到集合中 - 这会将计数更改为2.删除此文档后,计数现在的值正确为1,只保存原始文档。

1 个答案:

答案 0 :(得分:3)

似乎我错过了文档的这一部分:

  

使用有线Tiger存储器不正常关闭mongod后   引擎,count()报告的计数统计数据可能不准确。

     

漂移量取决于插入,更新或删除的数量   在最后一个检查点和不洁之间执行的操作   关掉。检查点通常每60秒发生一次。但是,mongod   使用非默认--syncdelay设置运行的实例可能有更多   或者不那么频繁的检查站。

     

对mongod上的每个集合运行validate以恢复   不正常关机后的正确统计数据。

正在运行db.unboundCollection.validate({full:true})解决了这个问题。