【发布时间】:2022-01-09 17:38:07
【问题描述】:
我正在尝试根据聚合中的结果 _id 获取元素值。
这是聚合:
$project: {
_id: 0,
brand: "$_id",
"options": {
$mergeObjects: "$ram"
},
sum: {
$add: [
"$sm",
1
]
}
}
我希望品牌从其他名为“brands”的集合中获取名称,如下所示
[
{
"_id": ObjectId("617b0dbacda6cbd1a0403f68"),
"SerialNumber": "45454234324",
"name": "hp"
},
{
"_id": ObjectId("617b0dbacda6cbd1a0403f69"),
"SerialNumber": "azazz5245454az",
"name": "asus"
}]
我想要得到的是使用基于结果_id 的_id 的品牌名称。 使用 SQL 它是这样的:
Get brands.name where _id=brands._id
【问题讨论】:
-
您可以使用
$lookup聚合阶段“加入”两个集合(使用公共字段进行匹配)。
标签: node.js mongodb mongodb-query aggregation-framework mean-stack