Ahora que hemos visto y tenido un estudio en profundidad de MongoDB. Mientras también entra en detalles con sus diversas funcionalidades básicas, sus usos y otros temas de relevancia. Veamos el tema MongoDB para Python. Porque sin usar MongoDB con ningún lenguaje de programación, no será demasiado adecuado para trabajar. Hacer que MongoDB sea compatible con Python mediante la creación de conexiones mejorará su interoperabilidad y también facilitará nuestro trabajo.
MongoDB para Python con PyMongo
En los artÃculos anteriores, hemos visto ¿Qué es MongoDB? Además, tenemos una idea sobre cómo crear y administrar bases de datos usando el shell ineractivo. Entonces, ahora, llevemos nuestra experiencia a un nivel superior y comencemos a usar MongoDB con Python.
PyMongo
Este es un controlador Python oficial para usar con MongoDB. Veamos algunos excelentes ejemplos para entender cómo usar PyMongo para solucionar Python y MongoDB.
Podemos realizar una serie de tareas con el PyMongo biblioteca como:
- Establecimiento de conexiones de bases de datos.
- Trabajar con bases de datos
- Aparentemente con colecciones y documentos
- Manipulación de cursores
- Codificación
De este modo, PyMongoen general proporciona varios conjuntos de herramientas para realizar el básico CRUD operaciones al facilitar una conexión con el servidor MongoDB.
Instalación de PyMongo
Antes, podemos usar PyMongo, primero debemos instalarlo en nuestro entorno de Python. Esto lo podemos hacer usando PyPi, que es el método de instalación de pip. Veamos cómo:
pip install pymongo
Importando PyMongo a Python
Ahora, una vez que haya terminado con la instalación. Ahora debe iniciar una sesión interactiva de Python y ejecutar el siguiente comando de importación. Si este comando funciona bien, sabrá que la instalación ha sido correcta.
import pymongo
Aquà hay una guÃa sobre cómo conectar el servidor SQL con Python
Establecer una conexión
Ahora que la instalación está completa y también hemos importado PyMongo a Python. Por lo tanto, ahora necesitamos establecer una conexión a una base de datos, de la que le gustarÃa crear una instancia de Mongo-Client. El MongoCliente La clase proporciona un cliente general para que se ejecute un servidor o una instancia de MongoDB.
Nota: Cada objeto de cliente generalmente presenta un grupo de conexiones integrado. Este grupo maneja por defecto hasta 100 conexiones al servidor.
from pymongo import MongoClient client = MongoClient() client MongoClient(host=['localhost : 3402'], …, connect=True)
El código anterior crea una conexión con el host local predeterminado y el puerto 3402. Es asà porque MongoClient toma un grupo de argumentos. Estos argumentos le permiten especificar host personalizado, puerto y otros parámetros de conexión. Este comando también es bastante útil en diferentes pasos del juego.
Para usar el formato de URL de MongoDB, necesitamos usar el comando de la siguiente manera:
client = MongoClient("mongodb://localhost : 3402")
Una vez que haya creado una instancia de MongoClient. Su instancia se puede utilizar para solicitar una conexión de base de datos especÃfica. Similar al trabajo que hicimos en el shell de MongoDB que ha visto anteriormente.
Cómo trabajar con bases de datos, documentos y colecciones
Después de haber conectado su instancia de MongoClient. Puede acceder y administrar una base de datos que utiliza el servidor MongoDB. Veamos cómo:
db = client.employee db Database(MongoClient(host=['localhost : 3402'], …, connect=True), 'employee')
En este documento, está claro que trabajaremos con la base de datos de empleados a partir de ahora.
Creación de documentos
Almacenar datos en su base de datos a través de PyMongo es similar a lo que hicimos en el shell de MongoDB. Antes de eso, necesitamos crear un documento. En Python, generalmente hacemos uso de diccionarios para construir documentos de los mismos. Veamos uno de esos ejemplos:
specimen = { … "title": "Working with PyMongo", … "author": "Shubham", … "contributors": [ … "Soumya", … "Ayush", … "Kavin", ], … "url" : "https://pccshubham.medium.com/python-json/" … }
Ahora, supongamos que necesitamos especificar la colección que usaremos. Para esto usamos el siguiente comando:
specimen = db.specimen specimen Collection(Database(…, connect=True), 'employee'), 'specimen')
AquÃ, vemos que “espécimen” es la instancia de Colección que representará una colección fÃsica en nuestra base de datos.
Insertar un documento
Ahora, para insertar documentos en la muestra, podemos hacerlo llamando a .insert_one() al respecto con un documento como argumento:
res = specimen.insert_one(specimen1) res print(f"One Specimen : {res.inserted_id}") #Output : One Specimen: 79086b7d87eb0fbf73ebf72f
AquÃ, .insert_one() toma espéciment1, lo inserta en la colección de especÃmenes y devuelve una respuesta .insert_one(). Tenga en cuenta que el objectId generado es de naturaleza dinámica.
Inserción de varios documentos
Ahora, ¿qué pasa si necesitamos insertar muchos documentos para que aparezcan en la base de datos? Para esto, implicamos el uso de la función .insert_many().
specimen2 = { … "title": "Sorting in MongoDB", … "author": "Shubham", … "contributors": [], … "url": "https://hackanons.com/2021/06/sorting-in-mongodb.html" … } specimen3 = { … "title": "Object-Oriented Programming (OOP) in Python", … "author": "Shubham", … "contributors": [], … "url": "https://pccshubham.medium.com/object-oriented-python-vs-object-oriented-java-codes-comparison-4b3dc04dd239" … } new_res = specimen.insert_many([specimen2, specimen3]) print(f"Multiple Specimens : {new_res.inserted_ids}") #Output : Multiple Specimens : ObjectId('80098511c87fbc0fbf73dbf72e'), ObjectId('6890511c87eb0fef73dbf73d')
Un punto a tener en cuenta aquà es que .insert_many() es comparativamente más rápido que .insert_one() aplicado muchas veces.
Recuperación de documentos
Para recuperar cualquier documento de un conjunto, hacemos uso de la función .find(). Para esto necesitamos importar el “pprint” biblioteca.
import pprint for file in specimen.find(): … pprint.pprint(file) … {'_id': ObjectId('80098511c87fbc0fbf73dbf72e') … "author": "Shubham", … "contributors": [], … "title": "Sorting in MongoDB", … "url": "https://hackanons.com/2021/06/sorting-in-mongodb.html" … } … {'_id': ObjectId('6890511c87eb0fef73dbf73d') … "author": "Shubham", … "contributors": [], … "title": "Object-Oriented Programming (OOP) in Python", … "url": "https://pccshubham.medium.com/object-oriented-python-vs-object-oriented-java-codes-comparison-4b3dc04dd239" … }
AquÃ, la función .find() devuelve los detalles de los diversos documentos almacenados allÃ.
Nota: También puede usar .find_one() para recuperar un documento.
Cerrar las conexiones
Ahora que hemos visto todas las diversas operaciones que generalmente deben realizarse mientras se trabaja con documentos. AquÃ, nos damos cuenta de que establecemos una conexión a una base de datos MongoDB. También necesitamos cerrar la conexión para que no obstaculice el rendimiento.
Por lo tanto, podemos cerrar la conexión usando el siguiente comando:
client.close() # where client is the MongoDB instance.
CONCLUSIÓN — MongoDB para Python
En este tutorial, tenemos una idea de varios pasos necesarios para configurar la conexión al servidor MongoDB con Python. Asà hemos visto los demás puntos posteriores. Me gusta, crear, insertar y recuperar documentos, por lo tanto. También hemos visto por última vez cuándo y cómo cerrar la conexión después de completar nuestra tarea.
Por lo tanto, esta guÃa será útil para cualquiera que esté comenzando con el tema MongoDB para Python.