Colecciones MongoDB con Python

Vamos a ver cómo podemos crear colecciones MongoDB en nuestras bases de datos con Python. Recuerda que las colecciones en nuestras bases de datos MongoDB vendrían a ser las tablas de otras bases de datos.

Antes de seguir puedes ver cómo crear una base de datos MongoDB con Python.

Colecciones MongoDB con Python

Vamos a seguir trabajando con la base de datos creada anteriormente, crearemos una nueva colección llamada portátiles.

Crear colección MongoDB con PyMongo

import pymongo

mi_compass = pymongo.MongoClient('mongodb+srv://user:[email protected]/test?authMechanism=DEFAULT')
mi_ddbb = mi_compass['ddbb_oyoladev']

nueva_coleccion = mi_ddbb['portatiles']

Debemos tener en cuenta que nuestra colección no se creará realmente hasta que no insertemos un documento en ella, podemos hacer un listado de colecciones para ver que todavía no existe.

print(mi_ddbb.list_collection_names())
# ['una_coleccion']

Únicamente nos muestra la colección que creamos en la entrada anterior para ver cómo se creaban bases de datos MongoDB.

Vamos a insertar un documento en la nueva colección para ver cómo se crea correctamente.

una_portatil = {
                    'marca': 'Sega',
                    'modelo': 'Gamegear',
                    'lanzamiento': 1990,
                    'vendidas': 10.6,
                    'procesador': 3.58,
                    'soporte': 'cartuchos',
                }
insertando = nueva_coleccion.insert_one(una_portatil)

Si volvemos a Compass podemos ver que nuestra colección que se ha creado correctamente y que el documento está almacenado.

Colección MongoDB creada desde Python

Ahora si realizamos la verificación mediante un listado de las colecciones que tenemos en nuestra base de datos nos la mostrará correctamente.

print(mi_ddbb.list_collection_names())
# ['una_coleccion', 'portatiles']

Actualizar colección MongoDB con PyMongo

Ahora vamos a ver cómo podemos actualizar el nombre que hemos puesto a nuestra colección, vamos a modificar de ‘portatiles’ a ‘consolas_portatiles’ e imprimir en pantalla un listado de nuestras colecciones.

renombra = nueva_coleccion.rename('consolas_portatiles')

print(mi_ddbb.list_collection_names())
# 'una_coleccion', 'consolas_portatiles']

Podemos ver en la impresión del listado y en la captura de pantalla de Compass que nuestra colección ha cambiado de nombre correctamente.

Rename colección MongoDB con PyMongo

Puedes ver rename la documentación oficial de PyMongo.

Eliminar colección MongoDB con PyMongo

Eliminar una colección de nuestra base de datos MongoDB es muy útil cuando estamos seguro que no será necesaria más en nuestro proyecto.

Importante → Debemos asegurarnos muy bien que la colección que vamos a eliminar es la correcta, si por error eliminamos otra colección podemos generar grandes problemas en nuestra aplicación.

Para realizar esta operación haremos uso de drop_colection() de PyMongo, aunque admite otros parámetros, nosotros vamos a indicarle únicamente el nombre de la colección que necesitamos eliminar. Una vez eliminada realizaremos un listado de las colecciones de nuestra base de datos, veremos que ya no aparece.

elimina = mi_ddbb.drop_collection('una_coleccion')

print(mi_ddbb.list_collection_names())
# ['consolas_portatiles']

Puedes ver información más detallada en la documentación oficial de drop_collection().

Dejar un comentario