1
我在集合中有以下數據。組,然後在MongoDB中展開記錄
> db.person.find().pretty()
{
"_id" : ObjectId("573a30a9dcf15c037f943f27"),
"name" : "Mark",
"age" : 30,
"country" : "US"
}
{
"_id" : ObjectId("573a30b9dcf15c037f943f28"),
"name" : "John",
"age" : 34,
"country" : "FR"
}
{
"_id" : ObjectId("573a30d1dcf15c037f943f29"),
"name" : "Rodrigo",
"age" : 23,
"country" : "IT"
}
{
"_id" : ObjectId("573a3194dcf15c037f943f2a"),
"name" : "Steve",
"age" : 23,
"country" : "US"
}
我想找出在每個國家的最年長的人的文件。例如,以下數據應該是上述數據的結果。
{
"_id" : ObjectId("573a30a9dcf15c037f943f27"),
"name" : "Mark",
"age" : 30,
"country" : "US"
}
{
"_id" : ObjectId("573a30b9dcf15c037f943f28"),
"name" : "John",
"age" : 34,
"country" : "FR"
}
{
"_id" : ObjectId("573a30d1dcf15c037f943f29"),
"name" : "Robert",
"age" : 23,
"country" : "IT"
}
我已經嘗試過聚合,但它沒有幫助。實際上Mongo DB中可以做這種操作嗎?如果是,請分享解決方案。
這可能有所幫助:http://stackoverflow.com/questions/10612660/select-max-with-group-by-in-mongodb – ggallo
如果兩個文檔具有相同的「年齡」值,您希望做什麼?對應於他們的「國家」的最大值? – styvane