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.
Conexión a la base de datos
Sección titulada «Conexión a la base de datos»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,…
Estructura del documento
Sección titulada «Estructura del documento»En el caso de las ciudades los documentos tienen una estructura de esta forma:
{ "_id" : ObjectId("525ab02733b01a66a9dcbc5f"), "ciudad" : "Zaragoza", "habitantes" : 679624, "catedrales" : 2}Eliminar campo con $unset
Sección titulada «Eliminar campo con $unset»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.
Verificar la eliminación
Sección titulada «Verificar la eliminación»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.
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.