我有两个收藏,products并且properties。
我正在做一个查找,例如:
[{
$match: {
category_id: mongoose.Types.ObjectId(category_id)
}
},
{
$lookup: {
from: "properties",
localField: "category_id",
foreignField: "category_id",
as: "properties"
}
}
]
Run Code Online (Sandbox Code Playgroud)
这基本上让我获得了与category_id 匹配的所有产品,并包括与相同category_id 匹配的属性。
some_id我需要对结果添加额外的检查properties。换句话说,应该按从集合返回并匹配 中相同键的properties进行分组。那有意义吗?基本上能够拥有多个本地/外部字段定义。some_idproductsproperties
知道我怎么能这样吗?
从 3.6 版本开始我们可以使用不相关的子查询
\n {\n $lookup:\n {\n from: \'<collection to join>\',\n let: { <var_1>: \'<expression>\', \xe2\x80\xa6, <var_n>: \'<expression>\' },\n pipeline: [ \'<pipeline to execute on the collection to join>\' ],\n as: <output array field>\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n这使我们能够在查找时拥有多个相等匹配。\n另请参阅: https: //docs.mongodb.com/manual/reference/operator/aggregation/lookup/
\n| 归档时间: |
|
| 查看次数: |
8999 次 |
| 最近记录: |