首页 > 解决方案 > Mongoose:嵌套级别的多个填充

问题描述

我认为代码示例会比问题的英文解释好得多。

Car
.find()
.populate({
  path: 'partIds',
  model: 'Part',
  populate: {            // First Populate
    path: 'otherIds',
    model: 'Other'
  }
  populate: {            // Second Populate
    path: 'ModelIds',
    model: 'Model'
  }
})

所以,基本上,我想在一个嵌套级别中进行双重填充。虽然 Mongoose 4.5 支持以下内容。

Car
 .find()
 .populate({ 
   path: 'partIds',
   model: 'part',
   populate: {            // Only single nested populate
     path: 'otherIds',
     model: 'Other'
   }
})

请告诉我,我们该怎么做?任何形式的帮助将不胜感激。

标签: databasemongodbmongoosemongoose-schemamongoose-populate

解决方案


您可以将数组populate用于多个字段。

Car
.find()
.populate({
  path: 'partIds',
  model: 'Part',
  populate: [{            // First Populate
    path: 'otherIds',
    model: 'Other'
  },
  {                      // Second Populate
    path: 'ModelIds',
    model: 'Model'
  }]
})

推荐阅读