Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/ /

MongoDB\Collection::countDocuments()

バージョン 1.4 で追加

MongoDB\Collection::countDocuments()

フィルター条件に一致するドキュメントの数をカウントします。

function countDocuments(array|object $filter = [], array $options = []): integer
$filter : array|object
カウントするドキュメントを指定するフィルター条件。
$options : 配列

必要なオプションを指定する配列。

名前
タイプ
説明

collation

array|object

照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。 照合を指定する場合、 localeフィールドは必須です。その他の照合フィールドはすべてオプションです。 フィールドの説明については、 「照合ドキュメント」 を参照してください。

照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。

comment

混合

データベースプロファイラcurrentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。

コメントには、 MongoDB 4.4 以降の有効なBSONタイプであればどれでもかまいません。以前のサーバーバージョンでは string 値のみがサポートされていました。

hint

string|array|object

使用するインデックス。 インデックス名を string またはインデックス キー パターンをドキュメントとして指定します。 指定すると、クエリ システムはヒント指定したインデックスを使用するプランのみを考慮します。

limit

integer

返される一致するドキュメントの最大数。

maxTimeMS

integer

カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。 MongoDB は、次の割り込みポイントが最も近い時点で操作を中止します。

ReadConcern

操作に使用する読み取り保証。 デフォルトはコレクションの読み取り保証 (read concern) です。

トランザクションの一部である個々の操作に対して読み取り保証 (read concern)を指定することはできません。代わりに、トランザクションを開始するときにreadConcern オプションを設定します。

readPreference

操作に使用する読み取り設定。 コレクションの読み込み設定(read preference)がデフォルトで設定されます。

セッション

操作に関連付けるクライアント セッション。

スキップ

integer

結果を返す前にスキップするマッチするドキュメントの数。

フィルター条件に一致するドキュメントの数。

MongoDB\Exception\UnexpectedValueException サーバーからのコマンド応答が不正な形式であった場合、。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collationreadConcernwriteConcern )。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

拡張レベルのその他のエラー(例: 接続エラー)の場合は、 MongoDB\Driver\Exception\RuntimeException 。

内部的には、このメソッドは結果を取得するために$group集計パイプライン演算子を使用します。 filterパラメーターが指定されている場合、これは$matchパイプライン演算子に変換されます。 任意の$skipステージと$limitステージは、オプションに存在する場合、 $matchgroupの間に追加されます。

注意

このメソッドはサーバー側のドキュメントをカウントします。 フィルタなしのドキュメントのおおよその合計数を取得するには、 MongoDB\Collection::estimatedDocumentCount()メソッドを使用できます。 この方法では、コレクション メタデータに基づいてドキュメント数を推定するため、パフォーマンスの精度が低下します。

このメソッドでは集計パイプラインを使用するため、 MongoDB\Collection::count() filter内で受け入れられる一部のクエリ演算子は使用できません。 これらの制限された演算子に対する次の代替手段を検討してください。

クエリ条件を評価する際、 MongoDB はBSON types の独自の比較ルールに従ってタイプと値を比較します。これは PHP の比較および型調整ルールとは異なります。特別なBSON type を照合する場合、クエリ条件は拡張機能内でそれぞれのBSONクラスを使用する必要があります(たとえば、 ObjectId と一致させるためにMongoDB\ BSON\ObjectId を使用するなど)。

戻る

COUNT()

項目一覧