Mongodb Mongoose:模式中的重复对象
我在mongoose中定义我的模式,我有一个book对象数组,然后是一个“活动book”。现在设置它并不是一个问题,但在模式的两个不同部分中定义完全相同的book对象似乎是不必要的重复Mongodb Mongoose:模式中的重复对象,mongodb,mongoose,nosql,Mongodb,Mongoose,Nosql,我在mongoose中定义我的模式,我有一个book对象数组,然后是一个“活动book”。现在设置它并不是一个问题,但在模式的两个不同部分中定义完全相同的book对象似乎是不必要的重复 var BookSchema = new Schema({ activeBook: { id: String, title: String, author: String, pages: Number }, books:
var BookSchema = new Schema({
activeBook: {
id: String,
title: String,
author: String,
pages: Number
},
books: [{
id: String,
title: String,
author: String,
pages: Number
}]
});
有没有一种更简洁的方法来编写它,这样我就不必在使用它的任何地方都写出相同的对象?一种更简洁的方法是创建一个,一个具有自己模式的文档,它是父文档数组的元素。因此,在上面的示例中,您可以按如下方式定义子/父模式:
var ChildSchema = new Schema({
id: String,
title: String,
author: String,
pages: Number
});
var ParentSchema = new Schema({
activeBook: ChildSchema,
books: [ChildSchema]
});