mongo 分组
时间: 2023-06-22 11:24:07 浏览: 58
在 MongoDB 中,可以使用 $group 操作符对数据进行分组操作。$group 操作符接收一个文档对象作为参数,该文档对象中包含要进行分组的字段和相应的操作,例如 $sum、$avg、$max、$min 等。下面是一个简单的示例:
假设我们有一个名为 orders 的集合,其中包含以下文档:
```
{ "_id" : 1, "item" : "apple", "price" : 0.5, "quantity" : 10 }
{ "_id" : 2, "item" : "banana", "price" : 0.25, "quantity" : 20 }
{ "_id" : 3, "item" : "pear", "price" : 0.4, "quantity" : 15 }
{ "_id" : 4, "item" : "orange", "price" : 0.3, "quantity" : 18 }
```
我们可以使用以下代码对商品进行分组,并计算每个商品的总价值:
```
db.orders.aggregate([
{ $group: { _id: "$item", total: { $sum: { $multiply: [ "$price", "$quantity" ] } } } }
])
```
执行以上代码后,将得到以下输出结果:
```
{ "_id" : "apple", "total" : 5 }
{ "_id" : "banana", "total" : 5 }
{ "_id" : "pear", "total" : 6 }
{ "_id" : "orange", "total" : 5.4 }
```
以上代码中,$group 操作符将 orders 集合中的文档按照 item 字段进行分组,并将每个分组的总价值计算出来。$multiply 操作符用于计算每个商品的总价值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)