¿Podriá valer la solución?

"Tenemos el siguiente documento: { “_id” : “100”, “Colores” : [ “blue”, “red”, “yellow”, “green” ] } Luego de ejecutar una consulta el resultado es el siguiente: { “_id” : “100”, “Colores” : [ " blue ", " red ", " yellow “, “black”, “white”, " green " ] } Se puede observar que se insertaron los valores : “black” y “white”, escriba una consulta para este resultado.”

¿Serviría esta solución?

db.documentos.updateOne(
{ _id: 100 },
{ $push: { Colores: “black” } , { Colores: “white” } }
)

Gracias

@Mario_Orozco_Gonzalez
El uso de $push es correcto, sin embargo, hay dos errores:

1. Como funciona $push

Esa solucion va a insertar luego de ‘green’ no antes. Push agrega valores al final del array:

//before push
[1,2,3,4]
//pushing 'white'
[1,2,3,4,'white']

2. Como agrega multiples valores

La solucion quiza agregue dos valores, pero hay una forma mas util y simple. El uso de $push con $each

db.documentos.updateOne(
{ _id: 100 },
{ $push: { Colores:{$each:[ “black”,“white” ] } } }
)

Sin embargo, todavia agrega luego de ‘Green’ no antes.

Precisamos indicar la posicion.

Pero no voy a resolverlo, porque puedes encontrar la solucion en los docs, y va a beneficiarte mas leerlos que mi solucion. Ve este tutorial en MongoDB Docs $push, $each, $position.

Aqui tienes un ejemplo live en mongoplayground (que deberias incluir tu la proxima, por favor, asi podemos ayudar mas rapido).

Suerte! :smile:

1 Like

Muchas gracias Santiago,

voy a revisar todo lo que me comentas.

Gracias, un saludo