mongo db docs回答了这个问题,但答案对我来说似乎不对。从Model Referenced One-to-Many Relationships Between Documents上的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's ObjectId的文档描述相冲突。
对于publisher_id,正确的解决方案是否具有12字节的BSON对象ID?
答案 0 :(得分:3)
我认为_id的唯一要求是独一无二的。如果您没有明确地给出一个,那么生成的是对象ID,如文档中所述。
请参阅您要链接的同一地点的引文:
因为ObjectId很小,很可能是唯一的,并且生成速度很快,所以如果没有指定_id字段,MongoDB会使用ObjectIds作为_id字段的默认值