gpt4 book ai didi

Mongodb $lookup 在多个字段上

转载 作者:行者123 更新时间:2023-12-04 03:09:49 24 4
gpt4 key购买 nike

我有两个集合, productsproperties

我正在查找,例如:

[{
$match: {
category_id: mongoose.Types.ObjectId(category_id)
}
},
{
$lookup: {
from: "properties",
localField: "category_id",
foreignField: "category_id",
as: "properties"
}
}
]

这基本上是让我获得与 category_id 匹配的所有产品,并包括与相同 category_id 匹配的属性。

我需要为 some_id 结果上的 properties 添加一个额外的检查。换句话说, properties 应该按从 some_id 集合返回的 products 分组,并匹配 properties 中的相同键。那有意义吗?基本上能够拥有多个本地/外部字段定义。

知道我怎么能这样吗?

最佳答案

从 3.6 版开始,我们可以使用不相关的子查询

{
$lookup:
{
from: <collection to join>,
let: { <var_1>: <expression>, …, <var_n>: <expression> },
pipeline: [ <pipeline to execute on the collection to join> ],
as: <output array field>
}
}

这允许我们在查找中拥有多个相等匹配。
另见: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/

关于Mongodb $lookup 在多个字段上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46122805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com