Ir al contenido

Añadir un valor a un array en MongoDB

Una de las cosas potentes que tiene MongoDB es la capacidad de crear documentos que tengan campos que sean arrays. Cosas que nos permiten representar valores anexos a un documento de una forma sencilla y que sería complejo (o tedioso) en una base de datos relacional.

En este caso vamos a ver cómo podemos añadir un valor a un array en MongoDB.

Partimos de un documento que no tiene ningún campo que sea un array. Dicho documento representa información sobre una ciudad.

{
"_id": ObjectId("525ab02733b01a66a9dcbc5f"),
"ciudad": "Zaragoza",
"habitantes": 679624
}

Ahora vamos a crear un array en el que insertemos información de monumentos que se puedan visitar en dicha ciudad.

El primer paso será conectarnos a la base de datos cuyo nombre es “demografía”.

conn = new Mongo();
db = conn.getDB("demografia");

Ahora vamos a ayudarnos en el operador $push. La estructura del operador $push es la siguiente:

{$push:{campo:elemento_insertar}}

Si el campo no existe se crea un campo de formato array, en el caso de que campo exista y no sea un array se generaría un error.

De esta forma utilizaremos el método update para poder añadir un valor a un array en MongoDB.

update = db.ciudades.update({ciudad:"Zaragoza"},{$push:{monumentos:"Basílica del Pilar"}})

Podremos comprobar si se ha actualizado el documento revisando el campo “nMatched” devuelto en la respuesta.

print('Documentos actualizados ' + update["nMatched"]);

Una vez ejecutado tendremos el siguiente documento:

{
"_id" : ObjectId("525ab02733b01a66a9dcbc5f"),
"ciudad" : "Zaragoza",
"habitantes" : 679624,
"monumentos" : [
"Basílica del Pilar"
]
}

De esta manera ya hemos conseguido añadir un valor a un array en MongoDB.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Añadir un valor a un array en MongoDB

Aprende a añadir un valor a un array en MongoDB utilizando el operador $push y actualiza tus documentos de manera eficiente y sencilla.

Descargar código