【问题标题】:Mongoose - how do I require sub-document data when creating a parent document?Mongoose - 创建父文档时如何需要子文档数据?
【发布时间】:2013-12-13 00:34:40
【问题描述】:

我刚刚开始使用 Mongoose (v3.8.1),并且正在尝试子文档和验证。据我了解(来自本页底部:http://mongoosejs.com/docs/subdocs.html),以下是设置架构的正确方法:

var ParentSchema = new Schema({
    name: { type: String, required: true },
    children: [{
        name: { type: String, required: true }
    }]
});

然后我可以执行以下操作来创建文档/子文档:

ParentModel.create({
    name: "Parent 1",
    children: [
        { name: "Child 1" },
        { name: "Child 2" },
    ]
}, callback);

如果我省略了任何子名称,这将完美运行,并且验证将失败。但是,如果我完全省略了 children 键,则验证通过并插入一个空数组。

因此,如果省略 children 键或者我是否以错误的方式处理此问题,是否有办法触发验证错误?

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    经过更多的摆弄,我想我明白了!使用type 键指定架构允许我还设置required: true。现在似乎可以正常工作了。

    更新架构:

    var ParentSchema = new Schema({
        name: { type: String, required: true },
        children: {
            type: [{
                name: { type: String, required: true }
            }],
            required: true
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 2017-03-15
      • 2018-10-01
      • 2018-12-04
      • 2012-10-13
      相关资源
      最近更新 更多