嵌套虚拟填充猫鼬

时间:2021-02-08 02:36:47

标签: mongodb mongoose backend mern populate

我正在使用 mongoDB,需要进行复杂的虚拟填充。已为其他 virtual.populate 完成此操作:

const itemSchema = new mongoose.Schema(
  {
    localField: { type: Object, required: true },
  },
)

itemSchema.virtual('populated', {
  ref: 'Foreign',
  localField: 'parameter1',
  foreignField: 'parameter1',
})

foreignField 参数是嵌套在对象内的对象数组,如果任何字符串都等于 localField 中的两个值,则应填充该数组。

所以,有这个本地字段:

localField = {
   parameter1: 'BBB',
   parameter2: 'bbb',
}

外国人应该被填充,但如果没有这个:

localField = {
   parameter1: 'HHH',
   parameter2: 'hhh',
}

给定这个foreignField:

coonst foreignField = {
 items: [
  {
   parameter1: 'AAA',
   parameter2: 'aaa',
  },
  {
   parameter1: 'BBB',
   parameter2: 'bbb',
  }
 ]
}

0 个答案:

没有答案