MongoDB\Driver\BulkWrite::delete
(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::delete — Add 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);?>
参考
- MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
- MongoDB\Driver\WriteResult