Cómo crear una base de datos en MongoDB usando Python

Cómo crear una base de datos en MongoDB usando Python
No hay duda de que Python es un lenguaje de programación poderoso y popular capaz de manejar cualquier proyecto que le arrojamos. Es muy flexible y puede ajustarse para adaptarse a varios entornos de desarrollo como pruebas de penetración para el desarrollo web y el aprendizaje automático.

Cuando se combina a grandes aplicaciones como las que requieren bases de datos, Python agrega más funcionalidad y puede ser difícil trabajar, especialmente para principiantes.

Python sabe que este ADD nos proporciona mejores formas de agregar bases de datos a nuestros proyectos sin comprometer nuestro flujo de trabajo utilizando una base de datos NoSQL simple e intuitiva. Usando Python y una popular base de datos NoSQL, MongoDB, el desarrollo se vuelve más cómodo y, en general, divertido.

Este artículo revisará varios conceptos de base de datos MongoDB para darle una firma comprensión de lo que implica. Después de eso, cubriremos cómo instalar MongoDB en Linux y mostrarle cómo usar Python para interactuar con MongoDB.

Comencemos:

Una introducción básica a MongoDB

MongoDB es una base de datos basada en documentos de código abierto que proporciona alta escalabilidad y flexibilidad. Al igual que la mayoría de las bases de datos NoSQL, MongoDB usa JSON para almacenar los datos, lo que lo convierte en una de las bases de datos más flexibles y fáciles para trabajar porque no requiere esquema.

Gracias a su flexibilidad y facilidad de aprendizaje, los desarrolladores a menudo usan MongoDB para grandes proyectos que requieren velocidades rápidas de lectura y escritura. Viene preempaquetado con controladores para lenguajes de programación populares, eliminando así la necesidad de aprender nuevos lenguajes de programación antes de usarlo.

NOTA: Si no está familiarizado con el concepto de bases de datos SQL y NoSQL, consulte el recurso proporcionado a continuación:

https: // www.mongodb.com/nosql-explicado/nosql-vs-sql

Aprender a trabajar con MongoDB es una habilidad esencial, principalmente porque vivimos en un mundo basado en datos donde, como programador, trabajará con datos el 90% del tiempo, si no más.

Es bueno tener en cuenta que hay más en MongoDB de lo que cubriremos en la Guía de hoy. Considere verificar la documentación oficial y los recursos externos para obtener más información.

Cómo instalar MongoDB en Linux (Debian 10)

Rápidamente repasemos cómo instalar la edición comunitaria de MongoDB en Debian 10.

NOTA: Asegúrese de desinstalar el paquete MongoDB mantenido por Debian porque no es el paquete oficial de MongoDB, y la incapacidad de desinstalar podría entrar en conflicto con la última versión:

Primero, asegúrese de que su sistema esté actualizado, lo que puede hacer usando el comando:

sudo apt-get actualización && sudo apt-get actualización -y

A continuación, instale Gnupg e importe la clave pública del repositorio de MongoDB utilizando el comando:

sudo apt -get install gnupg && wget -qo -https: // www.mongodb.org/static/pgp/server-4.4.ASC | sudo apt-key agregar -

Agregue una lista de archivos en las fuentes.lista.D Directorio usando el comando:

echo "Deb http: // Repo.mongodb.org/apt/Debian Buster/MongoDB-ORG/4.4 principales "| Sudo Tee/etc/apt/fuentes.lista.D/MongoDB-ORG-4.4.lista

Actualice sus repositorios locales e instale el paquete MongoDB-ORG.

sudo apt-get actualización && sudo apt-get install mongoDB-org

Una vez que haya instalado con éxito MongoDB, inicie el servicio utilizando el sistema de la siguiente manera:

sudo systemctl start mongod

También puede comenzar un shell mongo usando el comando mongo

Cómo usar Python para trabajar con MongoDB

Discutamos ahora cómo usar Python para trabajar con MongoDB.

En este punto, asumiré que ya tienes Python configurado e instalado en tu sistema.

Dado que esta es una guía de inicio rápido, no una guía MongoDB integral, solo discutiremos los conceptos básicos del uso de Pymongo para interactuar con la base de datos.

Pymongo

Observaremos el método estándar al interactuar con MongoDB para usar el conductor oficial de Python, Pymongo. Pymongo es una forma muy eficiente de trabajar con Python y MongoDB y es una de las mejores formas de comenzar.

NOTA: Aunque esta guía de inicio tiene toneladas de detalles, debe considerar mirar la documentación oficial para obtener más información.

Aquí hay algunos recursos para su consideración:

https: // pymongo.readthedocs.io/en/stable/índice.html
https: // pypi.org/Project/Pymongo/
https: // documentos.mongodb.com/conductores/pymongo

Cómo instalar Pymongo

Como de costumbre, lo primero que debemos hacer es instalar Pymongo Driver en nuestro entorno Python; puedes usar conda o pip.

Para instalar, use el comando:

Pymongo instalar PIP

Espere hasta que se complete las transacciones requeridas y tenga Pymongo instalado con éxito en su sistema. Para confirmar, enciende un shell de Python interactivo y ejecute el comando:

>>> Importar Pymongo

Una vez que se ejecuta con éxito sin errores, ha instalado con éxito Pymongo y podemos pasar a la siguiente sección.

Cómo usar Pymongo para conectarse a MongoDB

Para conectarnos a MongoDB usando Pymongo, usamos el objeto MongoClient y creamos una instancia para MongoD, el proceso de demonio principal para el MongoDB.

>>> de Pymongo Import Mongoclient
>>> cliente = MongoClient ("Localhost", 27017)

El fragmento de código anterior importa el objeto MongoClient de Pymongo y luego crea una instancia de cliente a MongoD. Si no necesita especificar el host y el puerto de destino, puede dejarlo vacío, estableciendo así una conexión predeterminada.

También puede usar el formato MongoDB URI como:

>>> cliente = MongoClient ("MongoDB: // Localhost: 27017/")

Ambos métodos harán lo mismo; Solo depende de cuál prefiera usar en su proyecto.

Cómo crear una base de datos usando Pymongo

Usar Pymong para crear una base de datos en MongoDB es relativamente sencillo. Todo lo que tiene que hacer es consultar la base de datos, y si no existe, MongoDB lo creará automáticamente.

Considere el código a continuación:

>>> de Pymongo Import Mongoclient
>>> cliente = MongoClient ("Localhost", 27017)
>>> base de datos = cliente ["test_database"]

También puede usar el método de atributo, en lugar del método del diccionario, para acceder a una base de datos.

>>> base de datos = cliente.test_database

A diferencia de otras bases de datos, en MongoDB, una base de datos no se crea completamente hasta que las colecciones (datos) se hayan guardado de colecciones como tablas en bases de datos SQL.

Cómo insertar documentos en una base de datos

Como se menciona al comienzo de este tutorial, MongoDB almacena datos como documentos JSON almacenados en un pensamiento de recopilación de documentos como filas en bases de datos SQL.

En Pymongo, usamos diccionarios de Python para representar un documento. Considere el siguiente código de ejemplo:

de Pymongo Import Mongoclient
Cliente = MongoClient ("Localhost", 27017)
base de datos = cliente ["Movie_DB"]
Películas = base de datos.películas
Movie_ =
"Título": "Sr. Robot",
"Protagonizado": "Rami Malek, Christian Slater, Carly Chaikin",
"Creado": "Sam Esmail",
"Año": "2016"

ID = Películas.insert_one (película_).inserted_id
Imprimir (ID)

Este código debe imprimir la ID como se muestra:

5ff57066fee7e4e965f02267

Cuando creamos un nuevo documento y lo agregamos a la colección, se crea una clave especial o _id. El valor de la identificación debe ser único en la colección de conjuntos.

Podemos verificar que la base de datos, la colección y el documento existan utilizando una consulta simple.

>>> base de datos.list_collection_names ()
['películas']

Los programadores no son nada si no eficientes y perezosos.

Debido a esta inclinación predeterminada, también podemos usar el método insert_many () para agregar múltiples documentos en lugar de un solo documento con el método insert_one ().

Considere el código a continuación:

de Pymongo Import Mongoclient
Cliente = MongoClient ("Localhost", 27017)
base de datos = cliente ["Movie_DB"]
Películas = base de datos.películas
películas_ = [

"Título": "Sr. Robot,"
"Protagonista": "Rami Malek, Christian Slater, Carly Chaikin",
"Creado": "Sam Esmail",
"Año": "2016."
,

"Título": "The Big Bang Theory"
"Starring": "Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch"
"Creado": "Chuck Lorre, Bill Prady",
"Año": "2007."
,

"Título": "Star Trek: serie original",
"Protagonista": "William Shatner, Leonard Nimoy, Nichelle Nicholas", "
"Creado": "Gene Roddenberry",
"Año": "1966."

]
IDS = películas.insert_many (películas_).inserted_ids
Imprimir (IDS)

Esto debería darle los _ids del documento insertado como se muestra a continuación:

[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]]]]

Cómo buscar documentos

Obtener documentos de una colección también es muy simple, y utilizando el método find_one (), podemos lograr esto en una línea de código. Considere el ejemplo a continuación para recolectar las películas de Gene Roddenberry.

Imprimir (películas.find_one ("creado": "Gene Roddenberry"))

Esto debería recuperar todas las películas creadas por Gene Roddenberry en esa base de datos.

'' _id ': ObjectId (' 5ff57472e027b7cd22b1f2f4 '),' Título ':' Star Trek: Original Series ',' protagonizando ':' William Shatner, Leonard Nimoy, Nichelle Nicholas, ',' creado ':' Gene Roddenbery ',', " Año ':' 1966 '

Puede mirar una pantalla GUI de la base de datos y las colecciones. Aquí hay una captura de pantalla capturada de MongoDB Compass en Windows.

Conclusión

Para usar el lenguaje de programación de Python de manera efectiva cuando se trabaja con bases de datos, necesitará una base de datos flexible y eficiente para su proyecto. MongoDB es la elección correcta. Por favor, no confunda que esto significa que MongoDB es la mejor elección de la base de datos de la historia. Tiene deficiencias, pero también es una opción ideal para la mayoría de los casos de uso.

Esta guía le ha dado todo lo que necesita para comenzar a experimentar con bases de datos utilizando su lenguaje de elección.

En la separación, considere leer documentación y manuales para obtener una comprensión más profunda de este tema en particular.