Docs Menu
Docs Home
/ /

MongoDB\Collection::updateMany()

MongoDB\Collection::updateMany()

Actualice todos los documentos que coincidan con los criterios de filtro.

function updateMany(
array|object $filter,
array|object $update,
array $options = []
): MongoDB\UpdateResult
$filter : matriz|objeto
El criterio de filtro que especifica los documentos a actualizar.
$update : matriz|objeto
Especifica las combinaciones de campos y valores que se actualizarán y cualquier operador de actualización relevante. $update utiliza MongoDB Operadores de actualización. También puede pasar una canalización de agregación como parámetro.
$options : matriz

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

filtrosDeArreglo

arreglo

Un arreglo de documentos de filtro que determina qué elementos del arreglo modificar para una operación de actualización en un campo de arreglo.

Nuevo en la versión 1.3.

bypassDocumentValidation

booleano

Si es true, permite que la operación de escritura evite la validación a nivel de documento. El valor predeterminado es false.

intercalación

matriz|objeto

Laintercalación permite a los usuarios especificar reglas específicas del idioma para la comparación de cadenas, como el uso de mayúsculas y minúsculas y tildes. Al especificar la intercalación, el locale campo es obligatorio; todos los demás campos son opcionales. Para obtener descripciones de los campos, consulte el documento de intercalación.

Si no se especifica la intercalación, pero la colección tiene una predeterminada, la operación utiliza la intercalación especificada para la colección. Si no se especifica ninguna intercalación para la colección ni para la operación, MongoDB utiliza la comparación binaria simple utilizada en versiones anteriores para las comparaciones de cadenas.

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del generador de perfiles de base de datos, la salidacurrentOp y los registros.

Esta opción está disponible desde MongoDB 4.4 y generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

Novedades en la versión 1.13.

hint

cadena|matriz|objeto

El índice a utilizar. Especifique el nombre del índice como una cadena o el patrón de clave del índice como un documento. Si se especifica, el sistema de consultas solo considerará los planes que utilicen el índice sugerido.

Esta opción está disponible desde MongoDB 4.4 y generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

Nuevo en la versión 1.6.

permitir

matriz|objeto

Mapa de nombres y valores de parámetros. Los valores deben ser constantes o expresiones cerradas que no hagan referencia a campos del documento. Se puede acceder a los parámetros como variables en un contexto de expresión agregada (p. ej., $$var).

Esto no es compatible con versiones de servidor anteriores a 5.0 y generará una excepción en el momento de ejecución si se utiliza.

Novedades en la versión 1.13.

sesión

Sesión de cliente para asociar a la operación.

Nuevo en la versión 1.3.

inserción

booleano

Si se establece en true, se crea un nuevo documento cuando ningún documento coincide con los criterios de consulta. El valor predeterminado es false, que no inserta un nuevo documento si no se encuentra ninguna coincidencia.

writeConcern

Escriba la preocupación que se usará para la operación. El valor predeterminado es la preocupación de escritura de la colección.

No es posible especificar una preocupación de escritura para operaciones individuales como parte de una transacción. En su lugar, configure la writeConcern opción al iniciar la transacción.

A MongoDB\UpdateResult Objeto, que encapsula un objeto MongoDB\Driver\WriteResult.

MongoDB\Exception\UnsupportedException si se utilizan opciones que no son compatibles con el servidor seleccionado (porcollation readConcernwriteConcernejemplo,,,).

MongoDB\Exception\InvalidArgumentException para errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\BulkWriteException para errores relacionados con la operación de escritura. Puede inspeccionar el valor devuelto por getWriteResult() para determinar la naturaleza del error.

MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).

Al evaluar los criterios de búsqueda, MongoDB compara tipos y valores según sus propias reglas de comparación para tipos BSON, que difieren de las reglas de comparación y manejo de tipos de PHP. Cuando se coincida con un tipo BSON especial, los criterios de consulta deben utilizar la Clase BSON respectiva en la extensión (por ejemplo, usa MongoDB\BSON\ObjectId para hacer coincidir con un ObjectId.

Si se lanza una MongoDB\Driver\Exception\BulkWriteException, puede llamar a getWriteResult() e inspeccionar el objeto MongoDB\Driver\WriteResult devuelto para determinar la naturaleza del error.

Por ejemplo, es posible que una operación de escritura se haya ejecutado correctamente en el servidor principal, pero no haya solucionado el problema (p. ej., la replicación tardó demasiado). También es posible que una operación de escritura haya fallado por completo (p. ej., violación de clave única).

El siguiente ejemplo actualiza todos los documentos con el borough de "Queens" estableciendo el campo active en true:

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$updateResult = $collection->updateMany(
[ 'borough' => 'Queens' ],
[ '$set' => [ 'active' => true ]]
);
printf("Matched %d document(s)\n", $updateResult->getMatchedCount());
printf("Modified %d document(s)\n", $updateResult->getModifiedCount());

El resultado sería entonces similar a lo siguiente:

Matched 5656 document(s)
Modified 5656 document(s)

Volver

replaceOne()

En esta página