MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::updateAñade una operación de actualización al lote

Descripción

public MongoDB\Driver\BulkWrite::update(array|object $filter, array|object $newObj, ?array $updateOptions = null): void

Añade una operación de actualización al MongoDB\Driver\BulkWrite.

Parámetros

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)

Un documento que contiene operadores de actualización (por ejemplo $set), un documento de reemplazo (es decir, solo expresiones field:value), o una » pipeline de agregación.

updateOptions

updateOptions
Option Type Description Defaut
arrayFilters array

Un array de documentos de filtro que determina qué elementos de array modificar para una operación de actualización en un campo de array. Véase » Especificar arrayFilters para las operaciones de actualización de array en el manual de MongoDB para más información.

Esta opción está disponible en MongoDB 3.6+ y causará una excepción en el momento de la ejecución si se especifica para una versión de servidor más antigua.

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.

hint string|array|object

Especificación de índice. Especifique el nombre del índice como string o el patrón de clave de índice. Si se especifica, el sistema de consultas solo considerará los planes que usen el índice sugerido.

Esta opción está disponible en MongoDB 4.4+ y causará una excepción en el momento de la ejecución si se especifica para una versión de servidor más antigua.

multi bool Actualiza solo el primer documento coincidente si false, o todos los documentos coincidentes true. Esta opción no puede ser true si newObj es un documento de reemplazo. false
sort array|object

Especifica qué documento la operación actualiza si la consulta coincide con varios documentos. El primer documento coincidente por el orden de clasificación será actualizado.

Esta opción no puede ser utilizada si "multi" es true.

Esta opción está disponible en MongoDB 4.4+ y causará una excepción en el momento de la ejecución si se especifica para una versión de servidor más antigua.

upsert bool Si filter no coincide con un documento existente, inserta un único documento. El documento será creado a partir de newObj si es un documento de reemplazo (es decir, sin operadores de actualización); de lo contrario, los operadores en newObj serán aplicados a filter para crear el nuevo documento. false

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Historial de cambios

Versión Descripción
PECL mongodb 1.21.0 Adición de la opción "sort".
PECL mongodb 1.7.0 Adición de la opción "hint".
PECL mongodb 1.6.0 El parámetro newObj acepta ahora una pipeline de agregación. Esta funcionalidad requiere MongoDB 4.2+ y causará una excepción en el momento de la ejecución si se especifica para una versión de servidor más antigua.
PECL mongodb 1.5.0 Utilizar la opción "arrayFilters" causará una excepción en el momento de la ejecución si no es soportada por el servidor. Anteriormente, ninguna excepción era lanzada y la opción podía ser ignorada.
PECL mongodb 1.4.0 Adición de la opción "arrayFilters".
PECL mongodb 1.2.0 Adición de la opción "collation".

Ejemplos

Ejemplo #1 Ejemplo de MongoDB\Driver\BulkWrite::update()

<?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);

?>

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top