Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

$pullAll (operador de actualización)

$pullAll

El operador $pullAll elimina todas las instancias de los valores especificados de una matriz existente. A diferencia del operador $pull, que elimina elementos especificando una consulta, $pullAll elimina los elementos que coinciden con los valores indicados.

El operador $pullAll tiene la forma:

{ $pullAll: { <field1>: [ <value1>, <value2> ... ], ... } }

Para especificar un <field> en un documento incrustado o en un arreglo, utiliza notación de puntos.

A partir de MongoDB 5.0, los operadores de actualización procesan los campos de documentos con nombres basados en cadenas en orden lexicográfico. Los campos con nombres numéricos se procesan en orden numérico. Consulta Comportamiento del operador de actualización para obtener más información.

Si un <value> a eliminar es un documento o una matriz, $pullAll elimina solo los elementos de la matriz que coinciden exactamente con el <value> especificado, incluido el orden.

A partir de MongoDB, 5.0, mongod ya no genera un error cuando se utiliza un operador de actualización como $pullAll con una expresión de operando vacía ( { } ). Una actualización vacía no produce cambios y no se crea ninguna entrada en el oplog (lo que significa que la operación no tiene efecto).

Crear la colección survey:

db.survey.insertOne( { _id: 1, scores: [ 0, 2, 5, 5, 1, 0 ] } )

La siguiente operación elimina todas las instancias de los valores "0" y "5" del arreglo scores:

db.survey.updateOne( { _id: 1 }, { $pullAll: { scores: [ 0, 5 ] } } )

Después de la actualización, el campo scores ya no tiene ninguna instancia de "0" o "5".

{ "_id" : 1, "scores" : [ 2, 1 ] }
Califique esta página