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

Mongodb:$in演算子と多くの単一クエリ

    私は間違いなく$inクエリを使用し、_idの配列を提供します。

    例:

    db.collection.find({
        "key": {
            "$in": [
                ObjectId("xxx"),
                ObjectId("yyy"),
                ObjectId("zzz")
            ]
        }
    })
    

    なぜですか?

    • ループする場合、カーソルを作成および枯渇させるクエリごとに一定量のセットアップとティアダウンが発生し、オーバーヘッドが発生します。
    • ローカルマシンでこれを行っていない場合は、リクエストごとにtcp/ipオーバーヘッドも発生します。ローカルでは、ドメインソケットを使用できます。
    • デフォルトで作成される「_id」にインデックスがあり、バッチリクエストで返すドキュメントのグループを収集することは非常に高速であるため、これを小さなクエリに分割する必要はありません。

    チェックアウトしたい場合は、ここにいくつかの追加のドキュメントがあります。



    1. springboot2.0で@cacheableを使用するときにredisキャッシュごとに異なるttlを構成する方法

    2. JSONファイルのMongoimport

    3. 基本的なMongoDBコマンドとは何ですか?それらの使用方法は?

    4. MongoDBコレクションからドキュメントのランダムサンプルを返す3つの方法