在mongodb导入一组电影的数据,从制作超过3部电影的导演中,列出Metacritic平均得分最高的前4位导演。显示导演的名字,Metacritic的平均得分,以及他们执导的电影数量。
时间: 2024-05-11 10:17:12 浏览: 10
好的,这是一个关于MongoDB的问题。可以使用以下代码实现:
```javascript
db.movies.aggregate(
[
// 匹配导演制作超过3部电影
{ $match : { director: {$ne:null}}},
{ $group:
{
// 以导演分组
_id: "$director",
// 统计电影数量
count: { $sum: 1 },
// 计算Metacritic得分平均值
averageMetacritic: { $avg: "$metacritic" }
}
},
// 过滤制作电影少于3部的导演
{ $match : { count: { $gt: 3 } } },
// 按照平均得分排序
{ $sort : { averageMetacritic : -1 } },
// 取前4位
{ $limit : 4 }
]
);
```
这个代码使用了 MongoDB 的聚合框架来实现。首先使用 `$match` 过滤掉导演为空的电影,然后使用 `$group` 以导演为分组,统计电影数量和计算 Metacritic 得分平均值。接着使用 `$match` 过滤掉制作电影少于3部的导演,使用 `$sort` 排序,最后使用 `$limit` 取前4位导演。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)