node.js - MongooseJS - 如何在 Mongoose Populate Virtuals 的文档数组中指定对象的字段?
问题描述
假设我有以下文件
{
name: "Johnny Doe",
age: "55",
organizations: [
{name: "Org A",
members: 22
},
{name: "Org B",
members: 25
}]
}
假设我为另一个模式进行了虚拟设置
SomeSchema.virtual('organizations'){
ref:"Person", //the collection to reference
localField:"organization_name", //the field in this Schema
foreignField: [???] //I want to access Person.organizations[].name
}
如何在 localField/foreignField 中指定我想要的字段?我已经尝试过像 MongoDB 中一样的“organizations.$.name”,但它不起作用,它返回一个空数组。
解决方案
我找到了答案。只需field_array.field_of_array_object
在我的示例中使用 or organizations.name
。它是否在数组中并不重要,只需使用.
符号即可。