【问题标题】:Mongoose: Repeated object in schemaMongoose:模式中的重复对象
【发布时间】:2015-10-10 15:13:36
【问题描述】:

我在 mongoose 中定义我的架构,并且我有一个书籍对象数组,然后是一本“活动书籍”。现在设置它不是问题,但在模式的两个不同部分定义完全相同的书籍对象似乎是不必要的重复。

 var BookSchema   = new Schema({
    activeBook: {
        id: String,
        title: String,
        author: String,
        pages: Number
    },
    books: [{
        id: String,
        title: String,
        author: String,
        pages: Number
    }]
});

有没有更简洁的写法,这样我就不必在使用它的任何地方写出同一个对象?

【问题讨论】:

    标签: mongodb mongoose nosql


    【解决方案1】:

    更简洁的方法是创建一个 subdocument,这是一个具有自己的架构的文档,它是父文档数组的元素。因此,在上面的示例中,您可以按如下方式定义子/父模式:

    var ChildSchema = new Schema({
        id: String,
        title: String,
        author: String,
        pages: Number
    });
    
    var ParentSchema = new Schema({
        activeBook: ChildSchema,
        books: [ChildSchema]
    });
    

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2017-09-30
      • 2016-01-27
      • 2015-03-08
      • 2015-09-14
      相关资源
      最近更新 更多