在汇总($ sum)数组元素后返回最大值

时间:2016-05-10 17:31:11

标签: arrays mongodb sum max

作为NoSQL-Databases的初学者我在MongoDB中遇到以下问题: 我的计划"看起来像:



Film document
{
"title": "film",
"type": "object",
"properties":{
	"id":{
		"type": "integer"
	},
	"title": {
		"type": "string"
	},
	"genre": {
		"type": "string"
	},
	"ratings":{
		"type": "array",
			"items": [
				 {
			  "type": "object",
			  "properties": {
				"userId": {
				  "type": "integer"
				},
				"rating": {
				  "type": "number"
				}
			}
		}]
	}
}
}




使用此队列,我得到了正确的结果,但不仅仅是一个对象。

db.film.aggregate( [
{ $unwind: "$ratings" },
{ $group: {
    _id: '$title', 
    SumRating: { $sum: '$ratings.rating' } 
} } , {$sort:{SumRating:-1}}]);

所以我的问题是使用$ max运算符。我尝试了一些东西,但对我来说没什么用。有人知道我需要如何使用运算符才能获得具有最高/最高评级的电影吗?

0 个答案:

没有答案