(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
$filter
, array|object $newObj
[, array $updateOptions
] ) : 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. only field:value expressions), or an » aggregation pipeline.
updateOptions
Option | Type | Description | Default |
---|---|---|---|
arrayFilters | array|object |
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 "locale" es obligatorio; todos los demás campos de cotejamiento son opcionales. Para la descripción de los campos, véase la » Documentación de Collation. 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. |
|
multi | boolean |
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 | boolean |
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 |
---|---|
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.
|
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. |
1.4.0 | Added the "arrayFilters" option. |
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);
?>