Php/docs/mongodb-driver-bulkwrite.delete

提供:Dev Guides
< Php
移動先:案内検索

MongoDB\Driver\BulkWrite::delete

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::deleteAdd a delete operation to the bulk


説明

public MongoDB\Driver\BulkWrite::delete ( array|object $filter [, array $deleteOptions ] ) : void

Adds a delete operation to the MongoDB\Driver\BulkWrite.


パラメータ

filter (array|object)

» クエリ述語。 空の述語を指定すると、コレクション内のすべてのドキュメントにマッチします。

注意:

When evaluating query criteria, MongoDB compares types and values according to its own » comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class (e.g. use MongoDB\BSON\ObjectId to match an » ObjectId).

deleteOptions
{| |+ deleteOptions !width="25%"| Option !width="25%"| Type !width="25%"| Description !width="25%"| Default |- | collation | array|object |

» Collation は、文字列比較の際の言語固有のルールを指定するものです。たとえば、大文字小文字やアクセント記号の扱いを指定できます。 collation を指定するときには "locale" フィールドが必須となります。それ以外の collation フィールドはすべて任意指定です。 各フィールドについての説明は » Collation のドキュメント を参照ください。

collation が未指定で collection のデフォルトの collation が設定されている場合は、コレクションが持っている collation を用いて操作を実行します。 コレクションや操作にも collation が指定されていない場合は、MongoDB は単純にバイナリ比較を行います。 これは、今までのバージョンでの文字列比較と同じ方法です。

このオプションは MongoDB 3.4 以降で使用可能です。それより前のバージョンのサーバー上で指定すると、実行時に例外が発生します。

| |- | hint | string|array|object |

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

This option is available in MongoDB 4.4+ and will result in an exception at execution time if specified for an older server version.

| |- | limit | bool | Delete all matching documents (false), or only the first matching document (true) | false |}


返り値

値を返しません。


エラー / 例外


変更履歴

バージョン 説明
PECL mongodb 1.8.0 Added the "hint" option.
PECL mongodb 1.2.0 Added the "collation" option.


例1 MongoDB\Driver\BulkWrite::delete() example

<?php$bulk = new MongoDB\Driver\BulkWrite;$bulk->delete(['x' => 1], ['limit' => 1]);$bulk->delete(['x' => 2], ['limit' => 0]);$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');$result = $manager->executeBulkWrite('db.collection', $bulk);?>

参考