禁用嵌入式文档的Mongoose备用声明语法的ID字段生成

时间:2013-10-16 17:16:29

标签: mongoose

Mongoose 3支持直接在父对象中声明嵌入式文档架构,而无需声明单独的架构对象。这在此处的文档中描述为“备用声明语法”:

http://mongoosejs.com/docs/subdocs.html

给出一个例子:

var parentSchema = new Schema({
  children: [{ name: 'string' }]
})

我想使用此表单,但禁用嵌入对象的自动生成ID属性。有没有办法做到这一点?该文档仅描述了在定义单独的模式实例时如何禁用它。

2 个答案:

答案 0 :(得分:5)

定义架构时,您可以将选项指定为第二个参数。将_id设置为false以禁用auto _id。

var parentSchema = new Schema({
children: String
}, {
_id: false
})

参考文档http://mongoosejs.com/docs/guide.html#_id

答案 1 :(得分:2)

最接近的是内联创建嵌入式架构:

var parentSchema = new Schema({
  children: [Schema({name: String}, {_id: false})]
});