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

MongoDBカウントコマンド

    MongoDBでは、count 集計コマンドは、コレクションまたはビュー内のドキュメントの数をカウントします。

    カウントとコマンドステータスを含むドキュメントを返します。

    petsというコレクションがあるとします。 次のドキュメントを使用:

    { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
    { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
    { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
    { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
    { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
    { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
    { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }

    次のクエリを使用して、コレクション内のドキュメントの数を返すことができます。

    db.runCommand( { count: "pets" } )

    結果:

    { "n" : 7, "ok" : 1 }

    MongoDBのドキュメントでは、実際にはcountの使用を推奨していません。 クエリ述語のないコマンドとそのラッパーメソッド。これは、クエリ述語なしで実行すると、コレクションのメタデータに基づいて結果が返されるため、おおよその数になる可能性があります。

    クエリの結果をカウントする

    次のフォームを使用して、クエリの結果をカウントできます。

    例:

    db.runCommand( { 
        count: "pets", 
        query: { type: "Dog" } 
    } )

    結果:

    { "n" : 4, "ok" : 1 }

    この例では、コレクションに4匹の犬がいることがわかります。

    別のクエリの数を確認しましょう。今回は、体重が一定量を超えるペットの数を調べます。

    db.runCommand( { count:'pets',
        query: { weight: { $gt: 10 } }
    } )

    結果:

    { "n" : 3, "ok" : 1 }

    カウントを制限する

    limitを使用できます カウントするドキュメントの最大数を指定するパラメータ。

    例:

    db.runCommand( { 
        count: "pets", 
        query: { type: "Dog" },
        limit: 3
    } )

    結果:

    { "n" : 3, "ok" : 1 }

    以前、実際には4匹の犬がいることを確認しましたが、この例では、最大3匹までカウントするように制限しました。

    制限が実際の数よりも多い場合、結果はlimitの影響を受けません。 引数。

    例:

    db.runCommand( { 
        count: "pets", 
        query: { type: "Dog" },
        limit: 10
    } )

    結果:

    { "n" : 4, "ok" : 1 }

    ドキュメントのスキップ

    skipを使用できます カウントする前にドキュメントの数をスキップするパラメータ。

    例:

    db.runCommand( { 
        count: "pets", 
        query: { type: "Dog" },
        skip: 2
    } )

    結果:

    { "n" : 2, "ok" : 1 }

    非推奨

    MongoDBのドキュメントには次のように記載されていることに注意してください。

    4.0機能と互換性のあるMongoDBドライバーは、それぞれのカーソルとコレクションのcount()を廃止します。 API(countを実行します コマンド)countDocuments()に対応する新しいAPIを優先 およびestimatedDocumentCount() 。特定のドライバーの特定のAPI名については、ドライバーAPIのドキュメントを参照してください。

    詳細情報

    count コマンドには、hintなどの他のフィールドが含まれます 、commentreadConcern 、およびcollation

    詳細については、MongoDBのドキュメントを参照してください。


    1. MapReduceのHadoopOutputFormatとは何ですか?

    2. MongoError:最初の接続でサーバーに接続できませんでした

    3. Redisクライアント

    4. mgoでIDで検索