Witajcie. Każdy dokument w bazie ma taką strukturę:
[
login: login1,
siła:
{
a: 2,
b: 3
},
grupa: 1
]
Chciałbym wyszukać tylko 2 pierwsze dokumenty z każdej grupy o największej sumie pól a i b.
Przykład:
[ login: login1, grupa: 2, siła: { a: 2, b: 5 } ]
[ login: login2, grupa: 1, siła: { a: 1, b: 2 } ]
[ login: login3, grupa: 3, siła: { a: 1, b: 4 } ]
[ login: login5, grupa: 1, siła: { a: 1, b: 1 } ]
[ login: login6, grupa: 1, siła: { a: 10, b: 4 } ]
[ login: login7, grupa: 3, siła: { a: 0, b: 2 } ]
[ login: login8, grupa: 3, siła: { a: 11, b: 4 } ]
Chciałbym otrzymać wynik:
[ grupa: 1, uzytkownicy: [ login6, login2 ] ]
[ grupa: 2, uzytkownicy: [ login1 ] ]
[ grupa: 3, uzytkownicy: [ login8, login3 ] ]
Podsumowując chcę otrzymać wyniki pogrupowane względem pola "grupa" i z każdej grupy wybrać tylko 2 pierwsze dokumenty o największej sumie pól a i b. Czy jest to wykonalne?