我已经看过in official manual来解释“ ObjectId
是什么类型”的解释
他们指出,如果文档缺少对象ID,则会创建该文档:
在MongoDB中,存储在集合中的每个文档都需要一个唯一的_id 充当主键的字段。如果插入的文档省略了 _id字段,MongoDB驱动程序会自动为_id字段生成一个ObjectId。
措辞太含蓄。如果我用不同的名称(例如parentID
)定义自己的objectId字段怎么办?它会将它用作文档ID,还是创建其他“内部” _id
字段。
我想在数据库中创建树状结构,其中每个对象-一个文档-必须必须有自己的ID,另外它可以有一个父级,并且兄弟姐妹数组(可以为空,也可以填充一些objectId
)。
我需要Express应用程序中的猫鼬进行树状导航,所以我认为Schema.findById()
方法是最好的方法-它们提供对象查找以及类型转换检查,并确保objectId
在每个文档中也是唯一的(不需要自定义的哈希函数)
以这种方式在单个文档中使用多个objectId
是否安全?
这里是related question,表明我可以使用Schema.ObjectId
。