MongoDB – Operador $pullAll

MongoDB proporciona diferentes tipos de operadores de actualización de array para actualizar los valores de los campos de array en los documentos y el $pullAlloperador es uno de ellos. Este operador se usa para eliminar todas las instancias de los valores especificados de una array existente. Es diferente del operador $pull, $pullel operador elimina elementos especificando una consulta, mientras que el operador $pullAll elimina elementos que coinciden con los valores enumerados. Puede usar este operador con métodos como update(), findAndModify(), etc., según sus requisitos.

Sintaxis:

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

Aquí, el campo puede especificarse con notación de puntos en documentos incrustados/anidados o una array y si el valor es una array o un documento, el $pullAlloperador eliminará solo aquellos elementos de la array que coincidan con el valor especificado .

Nota: el $pullAlloperador eliminará los elementos de la array en el mismo orden en que se especifican en el valor .

En los siguientes ejemplos, estamos trabajando con:

Base de datos: GeeksforGeeks
Colección: colaborador
Documento: dos documentos que contienen los detalles del colaborador en forma de pares de valor de campo.

Eliminación de elementos de una array mediante el operador $pullAll:

En este ejemplo, estamos eliminando elementos especificados en la lista, es decir, [“Java”, “C#”, “Python”] del campo de idioma con la ayuda del operador $pullAll.

db.contributor.update({name: "Rohit"},
                      {$pullAll: {language: ["Java", "C#", "Python"]}})

Eliminación de elementos de una array en el documento incrustado mediante el operador $pullAll:

En este ejemplo, estamos eliminando elementos especificados en la lista, es decir, [71, 72] del campo personal.semesterMarks con la ayuda del operador $pullAll.

db.contributor.update({name: "Sumit"},
                      {$pullAll: {"personal.semesterMarks": [71, 72]}})

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *