En MongoDB, no es necesario crear explícitamente una colección antes de agregar datos a ella. MongoDB creará automáticamente la colección cuando insertes el primer documento en ella. Sin embargo, si deseas crear una colección con un nombre específico antes de insertar datos, puedes hacerlo utilizando el método create_collection().
Una colección en MongoDB en Python es lo mismo que una tabla en bases de datos SQL.
Crear una Colección en MongoDB con Python
Para crear una colección en MongoDB, use el objeto de base de datos y especifique el nombre de la colección que desea crear. MongoDB creará la colección si no existe.
Ejemplo de cómo crear una colección en MongoDB utilizando Python y la biblioteca PyMongo:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:12345/") mydb = myclient["bbdd"] # Crear una colección llamada "Clientes" mycol = mydb["Clientes"] # Insertar un documento en la colección (esto creará automáticamente la colección si no existe) documento = {"nombre": "Juan", "direccion": "C/ Mayor 1"} mycol.insert_one(documento) # Imprimir el nombre de todas las colecciones en la base de datos print(mydb.list_collection_names())
En este ejemplo, creamos una colección llamada "Clientes" utilizando mydb["Clientes"]. Luego, insertamos un documento en la colección utilizando el método insert_one()
. Si la colección "Clientes" no existe, MongoDB la creará automáticamente cuando se inserte el documento.
Finalmente, utilizamos mydb.list_collection_names() para imprimir el nombre de todas las colecciones en la base de datos. Verás que "Clientes" aparecerá en la lista de colecciones.
Importante: En MongoDB, una colección no se crea hasta que obtiene contenido
MongoDB espera hasta que haya insertado un documento antes de que realmente cree la colección.
Comprobar que la colección existe
Recuerde: en MongoDB, una colección no se crea hasta que obtiene contenido, por lo que si esta es la primera vez que crea una colección, debe completar el siguiente capítulo (crear documento) antes de verificar si existe la colección. Puede verificar si existe una colección en una base de datos enumerando todas las colecciones:
Ejemplo para comprobar que la colección existe
Devuelva una lista de todas las colecciones en su base de datos:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:12345/") mydb = myclient["bbdd"] # Imprimir el nombre de todas las colecciones en la base de datos print(mydb.list_collection_names())
Cuando ejecutes este código, imprimirá una lista de todos los nombres de colecciones existentes en la base de datos "bbdd". Cada colección representa una tabla que contiene documentos en MongoDB.
Ejemplo para comprobar una colección específica por nombre
Puede verificar una colección específica por nombre.
Ejemplo para verificar si existe una colección llamada "Datos_Personales" en una base de datos de MongoDB utilizando la biblioteca PyMongo en Python.
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:12345/") mydb = myclient["bbdd"] # Obtener la lista de todas las colecciones en la base de datos collist = mydb.list_collection_names() # Comprobar si la colección "Datos_Personales" está en la lista de colecciones if "Datos_Personales" in collist: print("La colección existe.")
Cuando ejecutes este código, verificará si la colección "Datos_Personales" existe en la base de datos "bbdd". Si la colección existe, imprimirá "La colección existe." en la consola; de lo contrario, no se imprimirá nada.