通常のfind
の場合と同様に、集計クエリの結果はカーソルになります。 クエリ。 pymongo
の場合 CommandCursor
は反復可能であるため、次のいずれかを実行できます。
cursor = db.points.aggregate(...)
# Option 1
print(list(cursor))
# Option 2
for document in cursor:
print(document)
注: arunに気づきました
、どちらの場合も、つまり、カーソルからリストを作成した後、またはforループで反復した後は、カーソルを繰り返すことはできません。その場合、最初のオプションは、将来使用したい場合に、取得したリストがすでにメモリ内にあるため、好きなだけ使用できるため、より適切になります。
使用できない理由繰り返しになりますが、カーソルは実際にはサーバー上にあり、データをチャンクごとに送信します。すべてのデータを送信した後(またはサーバーが終了した後)、カーソルは破棄されます。