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

Kev*_*nte 9 mongoose

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

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

给出一个例子:

var parentSchema = new Schema({
  children: [{ name: 'string' }]
})
Run Code Online (Sandbox Code Playgroud)

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

SUN*_*N K 7

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

var parentSchema = new Schema({
children: String
}, {
_id: false
})
Run Code Online (Sandbox Code Playgroud)

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


Joh*_*yHK 3

您可以获得的最接近的是内联创建嵌入式架构:

var parentSchema = new Schema({
  children: [Schema({name: String}, {_id: false})]
});
Run Code Online (Sandbox Code Playgroud)