【发布时间】:2020-11-12 10:07:55
【问题描述】:
我在名为“Profile”的 mongodb 集合中保存了以下示例 JSON 对象
{
name: "Test",
relations: [
{
personid: <MongoDB-ID>,
type: "Friend",
duration: 5
},
{
personid: <MongoDB-ID>,
type: "Family",
duration: 9
},
]
}
我使用了 mongoose-Aggregate 函数,因为我需要根据保存的文档中的计算添加人工字段。在我的聚合结束时,我使用 $lookup-function 替换“relations”-array 内对象中的属性“personID”。
{
$lookup:
{
from: PersonModel.collection.name,
localField: 'relations.personid',
foreignField: '_id',
as: "relations.personid"
}
}
因为我希望将对象数组中的每个“人”替换为从特定人员文档填充的内容。 这不能按预期工作。 我还尝试在聚合函数返回的结果上调用“.populate()”,但也没有用。
【问题讨论】:
标签: mongodb mongoose aggregate lookup