我试图在MongoDB中构建一个查询,以便合并来自两个集合的数据:我有一组应用程序和一组功能,每个应用程序包含一系列功能_id我想要每个应用程序包含一系列要素对象:
app{
name,
description,
[requirements_id1, requirements_id2 ... ]
}
feature{
name,
description
}
放松和查找后我想获得类似的东西
app{
name,
description,
[feature1{
name,
description
},
feature2{
name,
description
}]
}
我写了这个查询,查看mongodb文档中的$lookup example
db.app.aggregate([
{
$unwind: "$features"
},
{
$lookup:
{
from: "features",
localField: "features",
foreignField: "_id",
as: "features"
}
},
{
$match: { "_id": '123456789' }
}
])
它有效但不是包含一系列特征的单个对象,而是一个包含数组的对象数组,每个数组只有一个特征,例如。
[app{
name,
description,
[feature1{
name,
description
}]
}
app{
name,
description,
[feature2{
name,
description
}]
}]
当然app对象除了要素字段外是相同的。如何摆脱获取包含多个功能的单个应用程序?