Ir al contenido

Eliminar campo de un documento en MongoDB

Una de las cosas más potentes de MongoDB es la capacidad de crecimiento de sus documentos, lo cual permite ir añadiendo campos con diferentes valores atendiendo a las necesidades que nos vayan apareciendo.

Pero de igual manera puede aparecer la necesidad de tener que eliminar campo de un documento en MongoDB, ya sea de un documento en concreto o de toda la colección. Vamos a ver qué pasos necesitaríamos para poder eliminar campo de un documento en MongoDB.

Lo primero será conectarnos a nuestra base de datos:

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

En concreto nos hemos conectado a una base de datos MongoDB con información demográfica: ciudades, estados,…

En el caso de las ciudades los documentos tienen una estructura de esta forma:

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

El siguiente paso será eliminar el campo “catedrales” del documento, en concreto del documento cuya ciudad coincida con Zaragoza. Para ello vamos a utilizar el operado $unset, dicho operador recibe como parámetro un documento JSON con los campos que queremos borrar.

La sentencia a ejecutar dentro de nuestro Shell de MongoDB será:

db.ciudades.update({"ciudad":"Zaragoza"},{$unset:{"catedrales":""}})

Vemos que los campos tienen como valor las dobles comillas.

Si ahora volvemos a consultar la colección de ciudades veremos que ya no existe el campo catedrales dentro del documento.

documento = db.ciudades.findOne({ciudad:"Zaragoza"});
printjson(documento);

El operador $unset nos permite de forma sencilla eliminar campo de un documento 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 Eliminar campo de un documento en MongoDB

Aprende a eliminar campo de un documento en MongoDB con el operador $unset y optimiza tus bases de datos de manera eficiente y rápida.

Descargar código