嵌入式文档ID是否在集合中是唯一的?

时间:2012-03-02 06:50:59

标签: mongodb mongoose

我有以下嵌入另一个的Mongoose架构:

var EmbedSchema = new Schema({
  foo: String
});

var ParentSchema = new Schema({
  foo: String
  embeds: [EmbedSchema]
});

在实例化并嵌入一些对象后,我最终会得到这样的结果:

{
  "_id": "4f505a866e65f3896b00002c",
  "foo": "some value",
  "embeds: [
    {
      "_id": "4f505aa36e65f3896b000034",
      "foo": "some value 1"
    }, {
      "_id": "4f2eeb8f559757bf4f000001",
      "foo": "some value 2"
    }
  ]
}

整个集合中_id内的embeds是唯一的吗?我正在考虑查询只使用embeds._id获取Parent(如果是)。

2 个答案:

答案 0 :(得分:5)

嵌入式文档是完整的文档,因此它们的_id不仅在集合中是唯一的,而且是全球唯一的。

答案 1 :(得分:1)

如果你允许mongo创建你的_id字段,那么它们在该集合中都是唯一的。