mongodb - mongodb:查询平均大于数字的文档
问题描述
如何找到平均分大于 5 的文档。集合如下所示:
集合餐厅:
{"grades": [{"grade": "A", "score": 2}, {"grade": "A", "score": 6}], "name": "Morris Park Bake Shop", "restaurant_id": "30075445"}
{"grades": [{"grade": "A", "score": 8}, {"grade": "B", "score": 23}], "name": "Wendy'S", "restaurant_id": "30112340"}
{"grades": [{"grade": "A", "score": 2}, {"grade": "A", "score": 11}], "name": "Dj Reynolds Pub And Restaurant", "restaurant_id": "30191841"}
我试过了
db.restaurants.find({average_socre: {$gt: 5}}, {average_socre:{$avg: "$grades.score"}})
但它不起作用。
解决方案
使用此查询:
db.collection.find({
$expr: {
$gt: [
{
"$avg": "$grades.score"
},
5
]
}
},
{
average_score: {
$avg: "$grades.score"
}
})
推荐阅读
- ruby-on-rails - 设置 API 连接响应超时
- video - Flutter-尽可能快地初始化视频
- javascript - 标题中的 JavaScript 格式 url
- php - 在PHP中的同一页面上根据需要调用一次或每次函数?
- amazon-mws - 通过 MWS API 丢失/接收不正确的结算报告
- unity3d - 使用动画师运行微调器的平滑连续旋转动画
- css - 如何在 Sass 中将 VW 转换为 px?
- r-markdown - 在 xaringan 中突出显示代码选择
- android - 将 AdColony 与中介集成时无法第二次加载广告
- javascript - 使用 Javascript 在页面加载时禁用 cookie