mongo count不准确问题

现象:通过count函数计算出的记录数量总是比实际少一条

 如下:目前该collection中共有421条记录

 

然而通过count函数计算出的结果是420,比实际少了一条

 

查看了mongo的官方文档:

https://docs.mongodb.com/manual/reference/method/db.collection.count/

发现里面有提到这么一段:

因为目前项目中mongodb并没有使用共享集群,猜测可能就是上面这个问题导致的:因为某次的非正常关机导致了chekpoint的失败,计算count的时候也没有指定查询条件,直接从metadata读取

count数,导致计算出的count数与实际不一致。

 查看了下这个collection的statistics:

确实count的值不准确。确实就是上面这种错误了。

解决方法:

1.指定一个查询条件

2.通过db.collection.validata(true) 重新存储正确的statistics.

 

posted @ 2018-08-07 14:42  boogieman  阅读(2117)  评论(0编辑  收藏  举报