Ich versuche, eine Liste von Menschen mit den meisten Einträge in meiner Datenbank zu bekommen.mongodb, pymongo, Aggregat gibt seltsame Ausgabe (etwas über den Cursor)
print db.points.aggregate(
[
{
"$group":
{
"_id": "$created.user",
"count":{"$sum":1}
}
},
{
"$sort":
{"count":-1}
}
]
)
Ein Eintrag sieht wie folgt aus:
{
u'id': u'342902',
u'_id': ObjectId('555af76a029d3b1b0ff9a4be'),
u'type': u'node',
u'pos': [48.9979746, 8.3719741],
u'created': {
u'changeset': u'7105928',
u'version': u'4',
u'uid': u'163673',
u'timestamp': u'2011-01-27T18:05:54Z',
u'user': u'Free_Jan'
}
}
Ich weiß, dass created.user
existiert und sonst zugänglich.
noch der Ausgang i erhalten ist:
<pymongo.command_cursor.CommandCursor object at 0x02ADD6B0>
Sollte ich nicht eine sortierte Liste bekommen?
Genauso vorsichtig (obwohl Sie sie eindeutig als zwei Optionen angeben): Nachdem Sie die Liste abgerufen haben, können Sie den Cursor nicht noch einmal durchlaufen. Sie müssen auf der Liste iterieren. – arun
Danke für die Nachricht, checkout das Update :) – bagrat
Die Verwendung der Liste (Cursor) scheint nicht zu funktionieren heutzutage. Es gibt *** Fehler im Argument: '(Cursor)' – user541905