mongodb#sum查询嵌套文档内容
时间: 2023-07-19 14:18:22 浏览: 99
mongodb帮助文档整合
4星 · 用户满意度95%
可以使用MongoDB的聚合框架中的$unwind和$group操作来查询嵌套文档内容的sum。假设我们有以下文档结构:
```
{
"_id" : ObjectId("5f7c8dce1c2f5fbbf4e6b6e2"),
"name" : "Alice",
"orders" : [
{
"product" : "apple",
"quantity" : 3,
"price" : 2.5
},
{
"product" : "banana",
"quantity" : 2,
"price" : 1.5
}
]
}
```
我们可以使用以下聚合管道查询每个用户的订单总金额:
```
db.collection.aggregate([
{$unwind: "$orders"},
{$group: {_id: "$name", total: {$sum: {$multiply: ["$orders.quantity", "$orders.price"]}}}}
])
```
在上面的聚合管道中,$unwind操作将orders数组展开为单独的文档,$group操作根据用户名进行分组,并使用$sum操作计算每个用户的订单总金额。$multiply操作用于计算每个订单的金额。
阅读全文