sql >> データベース >  >> NoSQL >> MongoDB

rmongodbを使用して大規模な結果セットの処理を高速化

    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機能を使用して構築できます。



    1. MongoDBコレクションのハイフンでつながれた名前

    2. mongoDBをangular2アプリに接続する方法は?

    3. ステータスがアクティブな場合でも、BashシェルスクリプトがMongoDBに接続しない

    4. MongoDB:クラスjava.lang.Doubleをクラスjava.lang.Longにキャストできません