我在
这样的集合中有一些文档{ "age" : 22, "value" : 234 },
{ "age" : 23, "value" : 54 },
{ "age" : 22, "value" : 260 },
{ "age" : 22, "value" : 23 }
这里我们有不同的年龄和价值观。我需要为每个年龄选择最高价值。所以结果应该是。
{ "age" : 23, "value" : 54 }
{ "age" : 22, "value" : 260 }
答案 0 :(得分:0)
以下aggregation查询应该可以解决问题:
db.collection.aggregate([
{$group: {_id: "$age", value: {$max: "$value"}}},
{$project: {_id: 0, age: "$_id", value: 1}}
])
答案 1 :(得分:0)