4

假设我有这样的架构

var Language = new Schema({
    name: { type: String, unique: true, required: true },
    pos: [{
        name: String,
        attributes: [{
            name: String
        }]
    }]
});

pos和 中的每个项目都会attributes有一个_id? name如果我向数组中的字段添加唯一索引pos,是否会对该数组强制执行唯一性,还是对所有条目都是唯一的?

4

2 回答 2

3

不,没有自己的架构的嵌入式文档pos没有attributes属性_id

如果为数组中的name字段添加唯一索引pos,则将在整个集合中强制执行唯一性,但不会在单个文档的数组中强制执行唯一性。看到这个帖子

于 2012-08-12T04:14:33.437 回答
1

在 Mongoose 4 中,posattributes得到自己的架构。您可以阻止他们获取 _id 属性,如下所示:

// ...
    attributes: [{
        name: String,
        _id: false
    }]
// ...
于 2016-04-22T13:26:45.253 回答