MongoDB\Collection::countDocuments()
バージョン 1.4 で追加。
定義
パラメーター
$filter
: array|object- カウントするドキュメントを指定するフィルター条件。
$options
: 配列必要なオプションを指定する配列。
名前タイプ説明collation
array|object
照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。 照合を指定する場合、
locale
フィールドは必須です。その他の照合フィールドはすべてオプションです。 フィールドの説明については、 「照合ドキュメント」 を参照してください。照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。
comment
混合
データベースプロファイラ、 currentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。
MongoDB 4.4 以降では、有効な BSON タイプであればコメントに、任意の有効な BSON タイプ を使用できます。 以前のサーバー バージョンでは string 値のみがサポートされていました。
hint
string|array|object
使用するインデックス。 インデックス名を string またはインデックス キー パターンをドキュメントとして指定します。 指定すると、クエリ システムはヒント指定したインデックスを使用するプランのみを考慮します。
limit
integer
返される一致するドキュメントの最大数。
maxTimeMS
integer
カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。 MongoDB は、次の割り込みポイントが最も近い時点で操作を中止します。
ReadConcern
操作に使用する読み取り保証。 デフォルトはコレクションの読み取り保証 (read concern) です。
トランザクションの一部である個々の操作に対して読み取り保証を指定することはできません。 代わりに 、トランザクションを開始する ときに
readConcern
オプションを設定します。readPreference
操作に使用する読み取り設定。 コレクションの読み込み設定(read preference)がデフォルトで設定されます。
セッション
操作に関連付けるクライアント セッション。
スキップ
integer
結果を返す前にスキップするマッチするドキュメントの数。
Return Values
フィルター条件に一致するドキュメントの数。
エラーと例外
MongoDB\Exception\UnexpectedValueException
サーバーからのコマンド応答が不正な形式であった場合、。
MongoDB\Exception\UnsupportedException
オプションが使用され、選択したサーバーでサポートされていない場合(例: collation
、 readConcern
、 writeConcern
)。
MongoDB\Exception\InvalidArgumentException
は、パラメータまたはオプションの解析に関連するエラーの場合は です。
MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。
動作
内部的には、このメソッドは結果を取得するために$group
集計パイプライン演算子を使用します。 filter
パラメーターが指定されている場合、これは$match
パイプライン演算子に変換されます。 任意の$skip
ステージと$limit
ステージは、オプションに存在する場合、 $match
とgroup
の間に追加されます。
注意
このメソッドはサーバー側のドキュメントをカウントします。 フィルタなしのドキュメントのおおよその合計数を取得するには、 MongoDB\Collection::estimatedDocumentCount()
メソッドを使用できます。 この方法では、コレクション メタデータに基づいてドキュメント数を推定するため、パフォーマンスの精度が低下します。
このメソッドでは集計パイプラインを使用するため、 MongoDB\Collection::count()
filter
内で受け入れられる一部のクエリ演算子は使用できません。 これらの制限された演算子に対する次の代替手段を検討してください。
クエリ条件を評価する際、MongoDB は BSON types の独自の比較ルール に従って型と値を比較します。これは PHP の 比較と は異なります と 型の調整 ルール。特殊な BSON 型と一致する場合、クエリ条件はそれぞれの BSON クラス を使用する必要があります 拡張機能(例:MongoDB\BSON \ObjectId ObjectIdを使用 )