1.db.collection.count() 返回的计数错误解决方案:
. 重置计数器:db.collection.validate(true);
. 使用聚合aggregate的方式查询count数量
db.collection.aggregate(
[
{ $group: { _id: null, count: { $sum: 1 } } }
]
)
2.
不准确的原因:
- 操作的是分片的集合(前提);
- shard分片正在做块迁移,导致有重复数据出现
- 存在孤立文档(因为不正常关机、块迁移失败等原因导致)