MongoDBでは、db.collection.count()
メソッドは、find()
に一致するドキュメントの数を返します コレクションまたはビューを照会します。
collection
partは、カウント操作を実行するコレクションまたはビューの名前です。
実際にはfind()
を実行しないことに注意してください 手術。クエリに一致する結果の数をカウントして返すだけです。
例
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.pets.count()
結果:
7
これは、次のことを行うのと同じです。
db.pets.find().count()
結果:
7
MongoDBのドキュメントでは、実際にはdb.collection.count()
を使用しないようにアドバイスしています。 クエリ述語なし。これは、メソッドがコレクションのメタデータに基づいて結果を返すためです。これにより、おおよそのカウントが得られる可能性があります。
クエリの結果をカウントする
クエリ条件を渡すことで、クエリの結果をカウントできます。
例:
db.pets.count({
"type": "Dog"
})
結果:
4
この例では、コレクションに4匹の犬がいることがわかりました。
別のクエリの数を確認しましょう。今回は、体重が一定量を超えるペットの数を調べます。
db.pets.count({
"weight": { $gt: 10 }
})
結果:
3
カウントを制限する
limit
を使用できます カウントするドキュメントの最大数を指定するパラメータ。
例:
db.pets.count( {}, { limit: 5 } )
結果:
5
以前、このコレクションには実際には7つのドキュメントがあることを確認しましたが、この例では、最大5つに制限しました。
制限が実際の数よりも多い場合、結果はlimit
の影響を受けません。 引数。
例:
db.pets.count( {}, { limit: 10 } )
結果:
7
ドキュメントのスキップ
skip
を使用してカウントできます カウントする前にドキュメントの数をスキップするパラメータ。
例:
db.pets.count( {}, { skip: 5 } )
結果:
2
非推奨
MongoDBのドキュメントには次のように記載されていることに注意してください。
4.0機能と互換性のあるMongoDBドライバーは、それぞれのカーソルとコレクションの
count()
を廃止します。countDocuments()
用の新しいAPIを支持するAPI およびestimatedDocumentCount()
。特定のドライバーの特定のAPI名については、ドライバーのドキュメントを参照してください。
詳細情報
db.collection.count()
メソッドはcount
のラッパーです コマンド。
db.collection.count()
メソッドは、hint
などの他のパラメータを受け入れます 、maxTimeMS
、readConcern
、およびcollation
。
詳細については、MongoDBのドキュメントを参照してください。