Załóżmy mój Schemat wygląda tak:Jak zrobić „grupa przez” w mongoengine
class User(Document):
username = StringField()
password = StringField()
category = StringField()
Wyobraź mamy te istniejące kategorie: "avengers", "justice-leaguers", "villains"
i chcę wykonać "group by"
zapytanie do User.objects.all()
tak, że mogę dostać coś takiego:
[
[<User: IronMan object>, <User: Thor object>, <User: Hulk object>],
[<User: Superman object>,<User: Batman object>],
[<User: Ultron object>, <User: Joker object>, <User: LexLuthor object>]
]
Albo jeszcze lepiej:
{
"avengers": [<User: IronMan object>, <User: Thor object>, <User: Hulk object>],
"justice-leaguers": [<User: Superman object>,<User: Batman object>],
"villains": [<User: Ultron object>, <User: Joker object>, <User: LexLuthor object>]
}
Zajrzałem do dokumentacji MongoEngine i jeszcze nie znalazłem nic przydatnego. Dzięki chłopaki!
jakaś szansa, można to zrobić za pomocą Mongoengine? Bardzo prawdopodobne, że zrobię to w moim kodzie Pythona zamiast w powłoce Mongo. Dzięki jeszcze raz! – benjaminz
@benjaminz Nie mam dostępu do Mongoengine (i nigdy go nie używałem), ale wydaje się, że ma wymagane API: [mongoengine.queryset.QuerySet.aggregate (* pipeline, ** kwargs)] (http: // docs.mongoengine.org/en/latest/apireference.html#mongoengine.queryset.QuerySet.aggregate) –
Czy sprawdzić tę odpowiedź: [link] (http://stackoverflow.com/a/24420848/1882331) za korzystanie " grupy przez "w mongoengine. – Yahya