Mongo DB:如何在self-Collection上聚合,以提取与层次数据集中的ID相关联的值



我正试图在Mongo中编写一个聚合,这将导致类似于SQL的结果。

我现在正试图用上面的集合在Mongo中实现同样的目的。

请建议我如何构建Mongo聚合,以实现我的输出。

展开module_detailsmodule_child,然后匹配它们。

[
{
"$unwind": "$module.module_details.data"
},
{
"$unwind": "$module.module_child.data"
},
{
"$match": {
"$expr": {
"$eq": [
"$module.module_details.data.module_child_id",
"$module.module_child.data.module_child_id"
]
}
}
},
{
"$project": {
"_id": 0,
"module_id:": "$module.module_details.data.module_id",
"name": "$module.module_child.data.name",
"value": "$module.module_details.data.value"
}
}
]

您可能还需要在module_id上进行匹配。然而,这不是问题的一部分。

[
{
"$match": {
"module_id": "9898"
}
},
{
"$unwind": "$module.module_details.data"
},
{
"$unwind": "$module.module_child.data"
},
{
"$match": {
"$expr": {
"$eq": [
"$module.module_details.data.module_child_id",
"$module.module_child.data.module_child_id"
]
}
}
},
{
"$project": {
"_id": 0,
"module_id:": "$module.module_details.data.module_id",
"name": "$module.module_child.data.name",
"value": "$module.module_details.data.value"
}
}
]

相关内容

  • 没有找到相关文章

最新更新