2
当执行更新/只找_id时,我应该指定$ limit 1还是mongo已经隐式知道只有一个带有指定id的记录?更新/通过ID限制查找
当执行更新/只找_id时,我应该指定$ limit 1还是mongo已经隐式知道只有一个带有指定id的记录?更新/通过ID限制查找
是的,在集合的每个文档中总会有唯一的_id。一个_id是由以下制成,因而它始终是独一无二的,你只能找到相对应的一个_id
a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value.
我知道我最终会发现只有一个记录,但我需要指定限制为1或者1号文件在我用_id搜索时已经隐式设置了?如果我指定另一个字段但_id,则系统将继续聚合,即使具有指定字段的文档已被发现一次。 –
知道你没有必要指定限制1,因为默认情况下_id是索引,所以它会查找内存检查索引并获得结果给你,它不会进行集合扫描。 –
谢谢。这是我正在寻找的答案。 –