Conexión a MongoDB con mongoengine en Python
MongoDB es una base de datos NoSQL de documentos que almacena datos en forma de JSON. MongoEngine es un ORM (Object-Document Mapper) para Python que facilita el trabajo con MongoDB.
En este tutorial, aprenderemos a conectarnos a MongoDB con mongoengine en Python.
Prerequisitos
Para seguir este tutorial, necesitarás:
- Una instalación de Python 3
- Una instalación de MongoDB
- Un editor de texto
Instalación de mongoengine
La instalación de mongoengine es muy sencilla. Simplemente ejecuta el siguiente comando en tu terminal:
pip install mongoengine
Creando un modelo
El primer paso es crear un modelo para representar nuestros datos. Un modelo es una clase que define la estructura de nuestros documentos.
Para crear un modelo, importaremos el módulo Document
de mongoengine:
from mongoengine import Document
Luego, crearemos una clase que herede de Document
:
class Persona(Document):
# Atributos del documento
nombre = StringField()
edad = IntField()
En este ejemplo, nuestro modelo tiene dos atributos: nombre
, que es un StringField
, y edad
, que es un IntField
.
Creando una conexión
Una vez que tengamos nuestro modelo, podemos crear una conexión a MongoDB. Para ello, usaremos el método connect()
de mongoengine:
# Conexión a MongoDB
from mongoengine import connect
connect('mongodb://localhost:27017/mi_base_de_datos')
Este código establece una conexión a una base de datos llamada mi_base_de_datos
en el host localhost
en el puerto 27017
.
Insertando datos
Ahora que tenemos una conexión, podemos insertar datos en nuestra base de datos. Para ello, usaremos el método save()
del modelo:
# Insertando datos
persona = Persona()
persona.nombre = 'Juan Pérez'
persona.edad = 30
persona.save()
Este código inserta un nuevo documento en la colección Persona
.
Recuperando datos
Para recuperar datos de nuestra base de datos, usaremos el método objects()
del modelo:
# Recuperando datos
personas = Persona.objects()
for persona in personas:
print(persona.nombre, persona.edad)
Este código recupera todos los documentos de la colección Persona
y los imprime en la consola.
Ejercicio
Ahora que has aprendido los conceptos básicos de la conexión a MongoDB con mongoengine en Python, puedes realizar el siguiente ejercicio:
- Crea un modelo para representar un producto. El modelo debe tener los siguientes atributos:
nombre
,precio
ycategoría
. - Inserta algunos productos en la base de datos.
- Recupera los productos de la base de datos y los imprime en la consola.
Conclusión
En este tutorial, aprendimos a conectarnos a MongoDB con mongoengine en Python. Mongoengine es una herramienta muy útil para trabajar con MongoDB en Python.