【发布时间】:2021-09-30 02:35:14
【问题描述】:
在聚合框架的上下文中并考虑存储在 MongoDB 集合中的以下简化文档结构:
[
{ 'reference': 'ReferenceStr',
'subgroup': [ { '#': 1, 'param': 123},
{ '#': 2, 'param': 456},
{ '#': 3, 'param': 789}
],
'group': [ {'#': 1, 'start': 1, 'end': 2},
{'#': 2, 'start': 3, 'end': 3} ],
}
]
知道 $group.# 上的一个条件(假设是 $group.#=1),我想使用 $group.end 的关联值(这里是 2)来获取 $subgroup.param 对应于 $ 的值subgroup.#=$group.end
我想返回: {'reference': 'ReferenceStr', 'var': 456}
到目前为止,我只有:
db_collection.aggregate([
{ '$project' : {
'reference' : '$reference',
'var' : {
...
}
}
}
])
$indexOfArray 和 $arrayElementAt 是我唯一的希望吗? 我迷失在结构中。
任何帮助将不胜感激。
【问题讨论】:
标签: python aggregation-framework pymongo