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

すべてのドキュメントをすばやくフェッチする方法MongoDBpymongo

    $ 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サーバーに指示するカーソルタイプ

    https://api.mongodb .com / python / current / api / pymongo / cursor.html#pymongo.cursor.CursorType.EXHAUST

    念のために言っておきますが、シェルほど速くなることはありません。 mongo / bson-> pymongo-> you間でデータを移動する際の最も遅い側面は、Python内でのUTF8文字列のデコードです。



    1. 一致するよりも大きいMongoDB集約配列サイズ

    2. MongodbfindOneAndUpdate関数が新しいドキュメントを挿入しています

    3. pymongo:MongoClientまたはConnection

    4. NodeJS0.10.8へのMongooseのインストール