【发布时间】:2021-06-27 11:14:23
【问题描述】:
我知道我可以使用 $in 来匹配数组中的元素,但是如果数组是嵌套的呢?像这样:
{
"_id": ObjectId("somethingsomething"),
"supermarkets": [
{
"groceries": [
{
"groceryType": "banana",
"groceryStockDate": "12345678",
"groceryAmount": 12
},
{
"groceryType": "cabbage",
"groceryStockDate": "313512",
"groceryAmount": 53
},
{
"groceryType": "strawberry",
"groceryStockDate": "51362",
"groceryAmount": 52
}
]
},
{
"groceries": [
{
"groceryType": "banana",
"groceryStockDate": "31321",
"groceryAmount": 52
},
{
"groceryType": "banana",
"groceryStockDate": "532451",
"groceryAmount": 73
},
{
"groceryType": "cucumber",
"groceryStockDate": "123",
"groceryAmount": 12
}
]
}
]
}
在这里,我想用groceryType: banana 获取每个对象,所以最终结果应该是这样的
[
{
"groceryType": "banana",
"groceryStockDate": "12345678",
"groceryAmount": 12
},
{
"groceryType": "banana",
"groceryStockDate": "31321",
"groceryAmount": 52
},
{
"groceryType": "banana",
"groceryStockDate": "532451",
"groceryAmount": 73
}
]
我特别想用聚合来做到这一点,因为我需要稍后通过更多阶段。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework aggregate aggregation