mongodb¥sum查询嵌套文档内容的个数
时间: 2024-02-25 17:53:03 浏览: 55
mongodb 数据库基本操作-对嵌入或嵌套文档的查询.pdf
可以使用MongoDB的聚合框架中的$unwind和$group操作来查询嵌套文档内容的个数。假设我们有以下文档结构:
```
{
"_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", count: {$sum: 1}}}
])
```
在上面的聚合管道中,$unwind操作将orders数组展开为单独的文档,$group操作根据用户名进行分组,并使用$sum操作计算每个用户的订单数量。在这种情况下,$sum操作的参数是1,表示每个展开的文档被计算一次,从而计算每个用户的订单数量。
阅读全文