Este artículo fue publicado como parte del Blogatón de ciencia de datos
Introducción
Entendiendo, exploremos un poco en profundidad sobre MongoDB y Django.
Al final de este artículo, tendrá un conocimiento básico de lo siguiente:
- ¿Qué es MongoDB?
- ¿Qué es Django?
- Métodos para conectarse con MongoDB usando Django.
Ahora, sin más preámbulos, comencemos …
1. ¿Qué es MongoDB?
Primero, veamos la definición oficial …
MongoDB es una base de datosUna base de datos es un conjunto organizado de información que permite almacenar, gestionar y recuperar datos de manera eficiente. Utilizadas en diversas aplicaciones, desde sistemas empresariales hasta plataformas en línea, las bases de datos pueden ser relacionales o no relacionales. Su diseño adecuado es fundamental para optimizar el rendimiento y garantizar la integridad de la información, facilitando así la toma de decisiones informadas en diferentes contextos.... de documentos, lo que significa que almacena datos en documentos similares a JSONJSON, o JavaScript Object Notation, es un formato ligero de intercambio de datos que es fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Se utiliza comúnmente en aplicaciones web para enviar y recibir información entre un servidor y un cliente. Su estructura se basa en pares de clave-valor, lo que lo hace versátil y ampliamente adoptado en el desarrollo de software.... Creemos que esta es la forma más natural de pensar en los datos y es mucho más expresiva y poderosa que el modelo tradicional de filas / columnas.
Fuente: https://www.mongodb.com/
En palabras simples…. la forma tradicional de almacenar y utilizar cualquier dato está estructurada (formato de tabla o fila / columna). Pero en tiempo real, no es así como se reciben o almacenan los datos. Los datos pueden tener cualquier número de campos o parámetrosLos "parámetros" son variables o criterios que se utilizan para definir, medir o evaluar un fenómeno o sistema. En diversos campos como la estadística, la informática y la investigación científica, los parámetros son fundamentales para establecer normas y estándares que guían el análisis y la interpretación de datos. Su adecuada selección y manejo son cruciales para obtener resultados precisos y relevantes en cualquier estudio o proyecto.... para almacenar. MongoDB almacena los datos en un formato similar usando documentos similares a JSON y NoSQL se usa para acceder a los datos almacenados.
2. ¿Qué es Django?
Django es un marco web de Python de alto nivel que fomenta el desarrollo rápido y el diseño limpio y pragmático. Creado por desarrolladores experimentados, se encarga de gran parte de la molestia del desarrollo web, por lo que puede concentrarse en escribir su aplicación sin necesidad de reinventar la rueda. Es gratis y de código abierto.
Fuente: https://www.djangoproject.com/
Django fue diseñado para construir sitios web de casi cualquier tipo y debido a que es una propiedad que comprende casi cualquier formato, incluidos HTML, fuentes RSS, JSON, XML, etc., también se puede usar para conectarse con MongoDB porque MongoDB también usa formato JSON .
Ahora veremos diferentes formas de conectarnos con MongoDB y exploraremos la conexión a MongoDB usando Django en detalle.
Hay tres formas diferentes de conectarse con MongoDB usando Django fácilmente, como se muestra en la siguiente figura"Figura" es un término que se utiliza en diversos contextos, desde el arte hasta la anatomía. En el ámbito artístico, se refiere a la representación de formas humanas o animales en esculturas y pinturas. En la anatomía, designa la forma y estructura del cuerpo. Además, en matemáticas, "figura" se relaciona con las formas geométricas. Su versatilidad hace que sea un concepto fundamental en múltiples disciplinas..... Veamos cada método uno por uno.
Fuente: yo mismo
En este artículo, nos centraremos en el método Djongo en detalle.
3.1 MongoEngine
MongoEngine es un mapeador de objetos y documentos (piense en ORM pero para bases de datos de documentos) para trabajar con MongoDB desde Python. (Fuente: http://mongoengine.org/#home)
Veamos cómo configurar MongoEngine y conectarnos con MongoDb usándolo.
Paso 1: instalación:
pip install -u mongoengine
Paso 2: Requisitos:
- MongoDB 3.4, 3.6, 4.0 (https://www.mongodb.com/try/download/community)
- pymongo> = 3.4 (https://pypi.org/project/pymongo/)
Asegúrese de tener instalados los requisitos anteriores antes de continuar con los siguientes pasos.
Paso 3: proyecto / settings.py
Después de iniciar el proyecto Django, abra el archivo settings.py y agregue estas líneas. Además, elimine o comente la sección BASES DE DATOS como se muestra en el siguiente fragmento de código.
import mongoengine mongoengine.connect(db=DATABASE_NAME, host=DATABASE_HOST, username=USERNAME, password=PASSWORD) #DATABASES = { # 'default': { # 'ENGINE': 'djongo', #'django.db.backends.sqlite3', # 'NAME': 'blogs', # DB name # 'USER': 'root', # DB User name <optional> # } #}
No hay necesidad de hacer emigrar y hacer migraciones porque está utilizando MongoEngine ORM.
Además, su archivo models.py se verá como se muestra en el siguiente fragmento de código.
Paso 4: proyecto / modelos.py
from mongoengine import Document, fields
class Blogs(Document):
name = fields.StringField() topic = fields.StringField() date = fields.DateTimeField() addition_info = fields.DictField()
Ahora, está listo para comenzar y también puede consultar más sobre MongoEngine aquí. http://docs.mongoengine.org/ y https://github.com/MongoEngine/mongoengine
3.2 PyMongo
Esta es una herramienta que contiene la distribución de Python para trabajar con MongoDB. Esto es bueno para escribir y guardar datos JSON en su MongoDB. Esta herramienta le permitirá utilizar todas las consultas de mongo en su código.
Veamos el paso para configurar pymongo y conectarnos a MongoDB usando este enfoque.
Paso 1: instalación:
pip install pymongo
Paso 2: proyecto / utils.py
Después de iniciar el proyecto Django, haga lo siguiente:
Cree utils.py en la carpeta del proyecto y agregue estas líneas
from pymongo import MongoClient def get_db_handle(db_name, host, port, username, password): client = MongoClient(host=host, port=int(port), username=username, password=password ) db_handle = client[db_name] return db_handle, client def get_collection_handle(db_handle,collection_name): return db_handle[collection_name]
Ahora, puede usar las funciones mencionadas anteriormente en su archivo views.py o en cualquier lugar donde desee obtener o escribir datos en su MongoDB
Paso 3: proyecto / views.py
from project.utils import get_db_handle, get_collection_handle db_handle, mongo_client = get_db_handle(DATABASE_NAME, DATABASE_HOST, DATABASE_PORT, USERNAME, PASSWORD) collection_handle = get_collection_handle(db_handle, REGIONS_COLLECTION) collection_handle.find({...}) collection_handle.insert({...}) collection_handle.update({...})
No es necesario hacer nada en project / models.py cuando usa PyMongo. Además, no es necesario agregar nada en el proyecto / settings.py, pero no olvide comentar la parte de BASES DE DATOS en el archivo project / settings.py.
3.3 Djongo
Aquí veremos cómo instalar MongoDB, Django y conectarnos usando el método Djongo.
Empecemos…..
Paso 1: Cómo instalar MongoDB
Vaya al sitio web oficial de MongoDB y descargue el servidor de la comunidad MongoDB.
Fuente: https://www.mongodb.com/try/download/community
Paso 2: Cómo descargar MongoDB Compass
Siga el enlace que se menciona a continuación para descargar e instalar MongoDB Compass.
Fuente: https://www.mongodb.com/try/download/compass
Paso 3: Crear una base de datos usando MongoDB Compass
Una vez completada la instalación, abra MongoDB Compass en su sistema y cree la base de datos MongoDB o NoSQL como se muestra a continuación.
Para crear una base de datos, haga clic en el botón ‘CREAR BASE DE DATOS’. Una vez que hace clic en el botón, se crea la base de datos de demostración como se muestra en la siguiente figura.
Paso 4: Cómo instalar el paquete Django
Abra la terminal o git_bash (si está usando el sistema operativo Windows) y simplemente presione este comando para instalar este paquete en su sistema.
pip install django
Paso 5: crear proyecto
Vaya a la ubicación de su elección y cree un proyecto Django usando el siguiente comando en la terminal:
django-admin startproject mysite
Paso 6: realice cambios en el archivo settings.py
Abra el archivo setting.py y simplemente agregue esta configuración de base de datos
#If your database is in your local machine DATABASES = { ‘default’: { ‘ENGINE’: ‘djongo’, ‘NAME’: ‘your-db-name’, } }
Paso 7: ejecutar el comando migrate
python3 manage.py migrate
Si no ve ningún mensaje de error, entonces se ha conectado con éxito a MongoDB usando djongo.
Eso es … 🙂
Conclusión
En este artículo, exploramos qué es MongoDB, Django y las formas de conectarse con MongoDB usando Django. Espero que ahora comprenda mejor los temas discutidos anteriormente.
No dude en enviarnos un comentario en caso de cualquier consulta. Cualquier comentario es bienvenido y me ayudará a mejorar el contenido de mi artículo.
Qué tengas un lindo día … : )
Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.