我在 mongos 实例中有一个奇怪的 count() 函数行为。一个多小时前,我更新了帖子集合中的大约 8.000 个项目,因为我需要将标签对象转换为数组。
现在,当我查询 mongos 时:
mongos> db.posts.find({blog: 'blog1', tags: {$type: 3}}).count()
4139
mongos> db.posts.findOne({blog: 'blog1', tags: {$type: 3}})
null
为什么 count() 显示 4139 个项目并且 findOne 返回一个空值,即使 RS 是同步的?
编辑: 有 4 个 RS(全部同步)。我还对所有 PRIMARIES 进行了相同的计数查询,结果始终为 0。只有当我依靠 mongos 时,结果才是 4139!