(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
$filter
, array|object$newObj
, ?array$updateOptions
= null
): voidAdds an update operation to the MongoDB\Driver\BulkWrite.
filter
(array|object)El » predicado de la consulta. Un predicado vacío coincidirá con todos los documentos de una colección.
Nota: Al evaluar criterios de consulta, MongoDB compara tipos y valores según sus propias » reglas de comparación para tipos BSON, lo cual difiere de las reglas de comparación y manejo de tipos de PHP. Al encontrar un tipo BSON especial, los criterios de consulta deben utilizar la clase BSON respectiva (p.ej. usar MongoDB\BSON\ObjectID al encontrar un » ObjectID).
newObj
(array|object) A document containing either update operators (e.g. $set
), a replacement document (i.e. onlyfield:value
expressions), or an » aggregation pipeline.
updateOptions
Option | Type | Description | Default |
---|---|---|---|
arrayFilters | array | An array of filter documents that determines which array elements to modify for an update operation on an array field. See » Specify arrayFilters for Array Update Operations in the MongoDB manual for more information. This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version. | |
collation | array|object | » Collation, o cotejamiento, permite a los usuarios especificar reglas específcas del lenguaje para comparar cadenas, tales como reglas para mayúsculas/minúsculas y marcas de acento. Cuando se especifica el cotejamiento, el cambpo Si no se especifica el cotejamiento y la colección tiene un cotejamiento predeterminado, la operación usará el cotejamiento especificado por la colección. Si no se especifica el cotejamiento para la colección o para la operación, MongoDB usará la comparación binaria simple utilizada en versiones anteriores para comparar cadenas. Esta opción está disponible en MongoDB 3.4+ y resultará en una excepción durante la ejecución si se especifica para una versión más antigua del servidor. | |
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.2+ and will result in an exception at execution time if specified for an older server version. | |
multi | bool | Update only the first matching document if false , or all matching documents true . This option cannot be true if newObj is a replacement document. | false |
upsert | bool | If filter does not match an existing document, insert a single document. The document will be created from newObj if it is a replacement document (i.e. no update operators); otherwise, the operators in newObj will be applied to filter to create the new document. | false |
No devuelve ningún valor.
Versión | Descripción |
---|---|
PECL mongodb 1.7.0 | Added the "hint" option. |
PECL mongodb 1.6.0 | The newObj parameter now accepts an aggregation pipeline. This feature requires MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version. |
PECL mongodb 1.5.0 | Using the "arrayFilters" option will result in an exception at execution time if unsupported by the server. Previously, no exception would be thrown and the option may have been ignored. |
PECL mongodb 1.4.0 | Added the "arrayFilters" option. |
PECL mongodb 1.2.0 | Added the "collation" option. |
Ejemplo #1 MongoDB\Driver\BulkWrite::update() example
<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['x' => 2],
['$set' => ['y' => 3]],
['multi' => false, 'upsert' => false]
);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);
?>