Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Arreglos

$each

$each

El modificador está disponible para su uso con $each el operador $addToSet y el operador $push.

Utilizar con el $addToSet operador para agregar múltiples valores al arreglo <field> si los valores no existen en el <field>.

{ $addToSet: { <field>: { $each: [ <value1>, <value2> ... ] } } }

Utilizar con el operador $push para añadir varios valores a un arreglo <field>.

{ $push: { <field>: { $each: [ <value1>, <value2> ... ] } } }

El operador $push puede usar el modificador $each con otros modificadores. Para obtener una lista de los modificadores disponibles para $push, consulte Modificadores.

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.

El siguiente ejemplo añade cada elemento de [ 90, 92, 85 ] al arreglo scores del documento donde el campo name es igual a joe:

db.students.updateOne(
{ name: "joe" },
{ $push: { scores: { $each: [ 90, 92, 85 ] } } }
)

Una colección inventory tiene el siguiente documento:

db.inventory.insertOne (
{ _id: 2, item: "cable", tags: [ "electronics", "supplies" ] }
)

A continuación, la siguiente operación utiliza el operador $addToSet con el modificador $each para añadir varios elementos al arreglo tags:

db.inventory.updateOne(
{ _id: 2 },
{ $addToSet: { tags: { $each: [ "camera", "electronics", "accessories" ] } } }
)

La operación solo agrega "camera" y "accessories" al arreglo tags. "electronics" ya estaba en el arreglo:

{
_id: 2,
item: "cable",
tags: [ "electronics", "supplies", "camera", "accessories" ]
}

Volver

$pullAll

En esta página