【发布时间】:2022-11-20 23:48:17
【问题描述】:
这个问题与其他问题略有不同,因为我需要获取整个文档而不仅仅是特定字段。
我需要根据嵌套数组的最后一个元素值过滤文档(所有文档,而不仅仅是特定字段)。 (doc.array[i].innerArray[innerArray.length - 1].desiredField)
文档看起来像这样:
[
{
"_id": 0,
"matches": [
{
"name": "match 1",
"ids": [
{
"innerName": "1234"
},
{
"innerName": "3"
}
]
}
]
},
{
"_id": 1,
"matches": [
{
"name": "match 5",
"ids": [
{
"innerName": "123"
},
{
"innerName": "1"
}
]
},
{
"name": "match 5",
"ids": [
{
"innerName": "1"
},
{
"innerName": "1234"
},
]
},
]
}
]
所以如果我们按照 innerName = '1234' 过滤,结果是这样的:
{
"_id": 1,
"matches": [
{
"name": "match 5",
"ids": [
{
"innerName": "123"
},
{
"innerName": "1"
}
]
},
{
"name": "match 5",
"ids": [
{
"innerName": "1"
},
{
"innerName": "1234"
},
]
}
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework