最近、シェルと PyMongo を介して MongoDB のテストを開始しました。カーソルを返し、それを反復しようとすると、実際の反復でボトルネックになるように見えることに気付きました。反復中に複数のドキュメントを返す方法はありますか?
擬似コード:
for line in file:
value = line[a:b]
cursor = collection.find({"field": value})
for entry in cursor:
(deal with single entry each time)
私がやりたいことは次のようなものです:
for line in file
value = line[a:b]
cursor = collection.find({"field": value})
for all_entries in cursor:
(deal with all entries at once rather than iterate each time)
この質問に従って batch_size() を使用し、値を 1000000 まで変更しようとしましたが、効果がないようです (または間違っています)。
どんな助けでも大歓迎です。このMongoの初心者を気楽にしてください!
- - 編集 - -
ありがとうカレブ。私が実際に尋ねようとしていたことを指摘したと思いますが、これは次のとおりです。cx_Oracleモジュールの場合のように、並べ替えcollection.findAll()
またはおそらくコマンドを実行する方法はありますか? cursor.fetchAll()
問題はデータを保存することではなく、Mongo DB からデータをできるだけ速く取得することです。
私の知る限り、Mongo は各レコードを 1 つずつ取得する必要があるため、データが返される速度はネットワークによって決まりますね。