假设我在mongodb中有一个集合,并且集合中的对象有一个_id,它是我以一种完全在mongoDB外部随机方式选择的ObjectID,例如从ObjectID 0000 ... 0000开始并递增10000,或者只是使用随机数生成器来生成ObjectID。
假设我接着将另一个项目添加到集合中,但我没有为新对象设置ObjectID,并且对让系统选择一个感到满意。系统是否会选择已经是集合一部分的ObjectID?
如果它是相关的,我使用java API和python API来执行此操作。
答案 0 :(得分:0)
_id
始终是唯一的。在_id
字段上有一个隐含的唯一主索引。
请放心,MongoDB不会选择已经采用的_id
字段。
_id
字段也是一个12字节的十六进制字符串,其中包含:
因此,如果MongoDB在集合中为您的文档选择_id,它肯定会与您集合中其他文档中的其他_id字段不同。
希望这有帮助。