1

我的猫鼬模式:

mongoose.Schema({
        title: 'string',
        items: [{
            uid: 'string',
            type: {type: 'string'},
            title: 'string',
            items: [{uid: 'string', type: {type: 'string'}, text: 'string'}]
        }]
    });

如何告诉猫鼬项目(和项目的项目)不是文档,而只是嵌套对象?我既不需要_id属性也不需要任何文档的功能,但我想定义它们并使用模式进行限制。

_id: false了吗?

4

1 回答 1

6

没有自己架构的嵌入式文档数组(如上所示)将始终有一个_id字段。如果你想抑制_id他们必须有自己的模式,你需要在他们的模式定义上设置{ _id: false } 选项。

mongoose.Schema({
    title: 'string',
    items: [mongoose.Schema({
        uid: 'string',
        type: {type: 'string'},
        title: 'string',
        items: [mongoose.Schema({
            uid: 'string', 
            type: {type: 'string'}, 
            text: 'string'
        }, {_id: false})]
    }, {_id: false})]
});
于 2012-09-27T12:23:34.543 回答