我正在使用 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',
}
]
}