Mongoose:嵌套级别的多个填充

Posted

技术标签:

【中文标题】Mongoose:嵌套级别的多个填充【英文标题】:Mongoose: Multiple Populate on nested level 【发布时间】:2020-11-04 17:22:24 【问题描述】:

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

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'
   
)

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

【问题讨论】:

我不知道对不起 【参考方案1】:

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

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

【讨论】:

以上是关于Mongoose:嵌套级别的多个填充的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose 在多个数组中填充嵌套元素

Mongoose更新嵌套数组

Mongoose:保存具有不同模式的嵌套 JSON

Mongoose:填充嵌套的 id 数组

如何填充嵌套的 Mongoose 嵌入文档

NestJs mongoose 嵌套填充未按预期工作