mongo.find.exhaustを試してみることをお勧めします オプション
cursor <- mongo.find(mongo, query, options=[mongo.find.exhaust])
これは、実際にユースケースで機能する場合に最も簡単な修正です。
ただし、rmongodbドライバーには、他のドライバーで使用できるいくつかの追加機能がないようです。たとえば、JavaScriptドライバーにはCursor.toArrayがあります 方法。これは、すべての検索結果を配列に直接ダンプします。 Rドライバーにはmongo.bson.to.listがあります 関数ですが、mongo.cursor.to.list おそらくあなたが望むものです。おそらく、ドライバー開発者にアドバイスを求める価値があります。
ハッキーな解決策は、ドキュメントがそれぞれ元のドキュメントの100000のデータ「チャンク」である新しいコレクションを作成することです。次に、これらのそれぞれをmongo.bson.to.listで効率的に読み取ることができます。 。チャンク化されたコレクションは、mongoサーバーのMapReduce機能を使用して構築できます。