Ben her departmanHer grup için ilgili belgelerin dizisi ile bir alanın maksimum değeri nasıl alınır?
{"Name": "Sam", "Salary": 90000, "Department": "IT"}
{"Name": "Henry", "Salary": 80000, "Department": "Sales"}
Ben en yüksek maaş alabilir tarafından
{
"_id" : ObjectId("5738cb363bb56eb8f76c2ba8"),
"records" : [
{
"Name" : "Joe",
"Salary" : 70000,
"Department" : "IT"
}
]
},
{
"_id" : ObjectId("5738cb363bb56eb8f76c2ba9"),
"records" : [
{
"Name" : "Henry",
"Salary" : 80000,
"Department" : "Sales"
},
{
"Name" : "Jake",
"Salary" : 40000,
"Department" : "Sales"
}
]
},
{
"_id" : ObjectId("5738cb363bb56eb8f76c2baa"),
"records" : [
{
"Name" : "Sam",
"Salary" : 90000,
"Department" : "IT"
},
{
"Name" : "Tom",
"Salary" : 50000,
"Department" : "Sales"
}
]
}
Ben en yüksek maaş ile sonuçlar istedikleri gibi bir koleksiyona sahip. Ama karşılık gelen çalışan isimlerini alamadım.
db.HR.aggregate([
{ "$unwind": "$records" },
{ "$group":
{
"_id": "$records.Department",
"max_salary": { "$max": "$records.Salary" }
}
}
])
Birisi bana yardımcı olabilir mi?
harika bir soru, size denenmiş ve bir hata var ne ekleyebilir miyim? – inspired
SQL'de kendini birleştirme ile çözebilirim. Ama Mongo ile bir yol bulamıyorum – dapangmao