0

mongo db 文档回答了这个问题,但对我来说答案似乎是错误的。从模型引用的文档之间的一对多关系的mongodb文档中,他们给出了以下答案:

{
   _id: "oreilly",
   name: "O'Reilly Media",
   founded: 1980,
   location: "CA"
}

{
    _id: 123456789,
    title: "MongoDB: The Definitive Guide",
    author: [ "Kristina Chodorow", "Mike Dirolf" ],
    published_date: ISODate("2010-09-24"),
    pages: 216,
    language: "English",
    publisher_id: "oreilly"
}

{
    _id: 234567890,
    title: "50 Tips and Tricks for MongoDB Developer",
    author: "Kristina Chodorow",
    published_date: ISODate("2011-05-06"),
    pages: 68,
    language: "English",
    publisher_id: "oreilly"
}

这是文档错误吗?该示例对 _id 的使用似乎与Mongodb 的 ObjectId的文档描述相冲突。

正确的解决方案是让 publisher_id 拥有 12 字节的 BSON 对象 ID?

4

1 回答 1

3

我认为 _id 的唯一要求是唯一的。如果您没有明确给出一个,那么生成的就是文档中描述的对象 id。

请参阅您要链接的同一个地方的报价:

因为 ObjectIds 很小,很可能是唯一的,并且生成速度很快,如果未指定 _id 字段,MongoDB 使用 ObjectIds 作为 _id 字段的默认值

于 2013-07-14T21:03:28.980 回答