Ich versuche eine Liste von Personen mit den meisten Einträgen in meiner Datenbank zu erhalten.
%Vor%Ein Eintrag sieht so aus:
%Vor% Ich weiß, dass created.user
existiert und anderweitig zugänglich ist.
Immer noch ist der Output, den ich bekomme:
<pymongo.command_cursor.CommandCursor object at 0x02ADD6B0>
Sollte ich nicht eine sortierte Liste bekommen?
Das Ergebnis einer Aggregationsabfrage ist wie bei einer normalen find
-Abfrage ein Cursor. Im Fall von pymongo
ist CommandCursor
iterierbar, so dass Sie in der Lage sind, Folgendes zu tun:
Hinweis: als arun bemerkte , in beiden Fällen, dh nachdem Sie eine Liste außerhalb des Cursors erstellt oder in der for-Schleife iteriert haben, können Sie nicht mehr über die iterieren Mauszeiger. In diesem Fall wird die erste Option besser, wenn Sie sie in Zukunft verwenden möchten, da Sie die Liste so oft verwenden können, wie Sie möchten, weil sie bereits im Speicher vorhanden ist.
Der Grund dafür, dass es nicht wiederholt werden kann, ist, dass der Cursor tatsächlich auf dem Server ist und die Daten Stück für Stück sendet, und nachdem er Ihnen alle Daten gesendet hat (oder der Server endet), wird der Cursor zerstört / p>
Tags und Links mongodb aggregation-framework pymongo