$ natural sortを使用すると、インデックスがバイパスされ、ディスクに保存されている順序でドキュメントが返されます。つまり、mongoは、ディスクをランダムに読み取ってぶらぶらする必要がありません。
https://docs.mongodb.com/ manual / reference / method / cursor.sort /#return-natural-order
クエリを使用する場合、パフォーマンスは大幅に低下します。 FIFOの順序に依存しないでください。 Mongoを使用すると、ストレージレイヤー内でドキュメントを移動できます。注文を気にしないのなら、そうしてください。
for d in db.docs.find().sort( { $natural: 1 } ):
mylist.append(d)
Pythonでは、 EXHAUSTも使用する必要があります pymongoドライバーが各バッチを確認するのを待たずに結果をストリーミングバックするようにmongoサーバーに指示するカーソルタイプ
念のために言っておきますが、シェルほど速くなることはありません。 mongo / bson-> pymongo-> you間でデータを移動する際の最も遅い側面は、Python内でのUTF8文字列のデコードです。