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 $pullAll
operador 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, $pull
el 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 $pullAll
operador eliminará solo aquellos elementos de la array que coincidan con el valor especificado .
Nota: el $pullAll
operador 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