从多个集合中填充猫鼬文档

时间:2018-12-28 12:04:13

标签: node.js mongodb mongoose

我正在寻找一种方法来填充超出文档或ref参数的文档。

 const LibarySchema = new Schema({
     books:[{
         book: { type: Schema.Types.ObjectId},
         bookType: { type: String }
        }, { _id: false}]
 });

 const BookType1Schema = new Schema({  
    bookType: {
      type: String,
      default: 'lecture'
    },
 });
 const BookType2Schema = new Schema({
     bookType: {
      type: String,
      default: 'assingment'
    },
 });

这是一个类似项目模型的示例,我正在研究3个模型。第一个模型包含图书馆书籍的所有信息,而其他模型则是书籍的类型。因此,在将新书插入库数组期间,会添加bookType以了解要查找的集合。 所以我的问题是,在填充过程中是否仍然需要检查bookType并选择合适的馆藏来查找该书。 我也愿意就模型提出建议。

1 个答案:

答案 0 :(得分:0)

您可以简单地为您要的东西提供一个模式。请勿制作不必要的架构,以免使您的集合变得笨重。当系统增长时,用大量数据进行查询时效果不佳...

不要仅使用单独的模式来存储类型,而只需创建一个图书馆图书模式,并使用该模式来查找您想要查找的图书