AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB\Collection::deleteMany()

MongoDB\Collection::deleteMany()

フィルター条件に一致するすべてのドキュメントを削除します。

function deleteMany(
array|object $filter,
array $options = []
): MongoDB\DeleteResult
$filter : array|object
削除するドキュメントを指定するフィルター条件。
$options : 配列

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

名前
タイプ
説明

collation

array|object

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

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

comment

混合

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

このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。

バージョン1.13の新機能。

hint

string|array|object

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

このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。

バージョン1.7の新機能。

let

array|object

パラメーター名と値のマップ。 値は、ドキュメント フィールドを参照しない定数または閉じた式である必要があります。 その後、パラメーターには 集計式コンテキスト で変数としてアクセスできます(例: $$var )。

これは 5.0 より前のサーバー バージョンではサポートされていないため、使用された場合は実行時に例外が発生します。

バージョン1.13の新機能。

セッション

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

バージョン1.3の新機能。

writeConcern

操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。

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

MongoDB\DeleteResultMongoDB\Driver\WriteResultオブジェクトをカプセル化する オブジェクト。

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

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

書込み (write)操作に関連するエラーについては、 MongoDB $Driver\Exception\BulkWriteException を参照してください。getWriteResult() によって返される値を調べて、エラーの内容を判断できます。

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

クエリ条件を評価する際、MongoDB は独自の BSON types の比較ルール に従って型と値を比較します。これは PHP の 比較 および type juggling ルールとは異なります。特殊な BSON type に一致させる場合、クエリ条件では拡張機能の対応する BSON クラス を使用する必要があります (例:MongoDB\BSON\ObjectId を使用して ObjectId に一致させます)。

MongoDB\Driver\Exception\BulkWriteException がスローされた場合は、 getWriteResult() を呼び出し、返されたMongoDB\Driver\WriteResultオブジェクトを調べて、エラーの内容を判断できます。

例えば、書込み (write) 操作はプライマリ サーバーに正常に適用されたが、書込み保証 (write concern) を満たすには失敗した場合(例: レプリケーションに時間がかかりすぎました)。 あるいは、書込み (write) 操作が完全に失敗した可能性があります(例: 一意なキー違反)。

次の例では、 stateフィールドの値として"ny"を持つusersコレクション内のすべてのドキュメントを削除します。

<?php
$collection = (new MongoDB\Client)->test->users;
$collection->drop();
$collection->insertOne(['name' => 'Bob', 'state' => 'ny']);
$collection->insertOne(['name' => 'Alice', 'state' => 'ny']);
$deleteResult = $collection->deleteMany(['state' => 'ny']);
printf("Deleted %d document(s)\n", $deleteResult->getDeletedCount());

出力は次のようになります。

Deleted 2 document(s)