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
などの他のフィールドが含まれます 、comment
、readConcern
、およびcollation
。
詳細については、MongoDBのドキュメントを参照してください。