首页 > 解决方案 > 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”,但它不起作用,它返回一个空数组。

标签: node.jsmongodbmongoose

解决方案


我找到了答案。只需field_array.field_of_array_object在我的示例中使用 or organizations.name。它是否在数组中并不重要,只需使用.符号即可。


推荐阅读