MongoDB es una base de datos orientada a documentos de código abierto. MongoDB almacena datos en forma de pares clave-valor y es un programa de base de datos NoSQL. El término NoSQL significa no relacional. Consulte MongoDB: una introducción para obtener una introducción mucho más detallada sobre MongoDB. Ahora comprendamos la operación de escritura masiva en MongoDB usando Python.
escritura masiva()
La función PyMongo bulk_write()
envía un lote de operaciones de escritura al servidor. La ejecución de operaciones de escritura en lotes aumenta el rendimiento de escritura.
Sintaxis: bulk_write(requests, ordenado = Verdadero, bypass_document_validation = Falso, sesión = Ninguno)
Parámetros:
- requests: las requests se pasan como una lista de instancias de operaciones de escritura.
- ordered : (Opcional) Un valor booleano que especifica si las ejecuciones de operaciones se realizan de forma ordenada o desordenada. De forma predeterminada, se establece en Verdadero.
- bypass_document_validation: (opcional) un valor que indica si se debe omitir la validación del documento.
- session : (Opcional) una ClientSession.
Ejemplo 1: Ejecutar múltiples requests usando bulk_write()
.
# importing the module from pymongo import MongoClient, InsertOne, DeleteOne, ReplaceOne # creating a MongoClient object client = MongoClient() # connecting with the portnumber and host client = MongoClient("mongodb://localhost:27017/") # accessing the database database = client['database'] # access collection of the database mycollection = mydatabase['myTable'] # defining the requests requests = [InsertOne({"Student name": "Cody"}), InsertOne({ "Student name": "Drew"}), DeleteOne({"Student name": "Cody"}), ReplaceOne({"Student name": "Drew"}, { "Student name": "Andrew"}, upsert = True)] # executing the requests result = mycollection.bulk_write(requests) for doc in mycollection.find({}): print(doc)
Aquí, los primeros dos documentos se insertan usando el comando InsertOne. Luego, usando el comando DeleteOne , se elimina el documento con el nombre del estudiante: Cody . Usando el comando ReemplazarUno , el estudiante con el nombre Drew es reemplazado por el nombre Andrew. Por lo tanto, todos estos comandos se ejecutan en el orden y obtenemos el siguiente resultado:
Producción :
{‘_id’: ObjectId(‘5f060aa5a9666ecd86f5b6bd’), ‘Nombre del estudiante’: ‘Andrew’}
Ejemplo 2:
# importing the modules from pymongo import MongoClient, InsertOne, DeleteOne, ReplaceOne, UpdateOne # creating a MongoClient object client = MongoClient() # connecting with the portnumber and host client = MongoClient("mongodb://localhost:27017/") # accessing the database database = client['database'] # access collection of the database mycollection = mydatabase['myTable'] # defining the requests requests = [InsertOne({ "x": 5}), InsertOne({ "y": 2}), UpdateOne({'x': 5}, {'$inc': {'x': 3}}), DeleteOne({ "y": 2})] # executing the requests result = mycollection.bulk_write(requests) for doc in mycollection.find({}): print(doc)
Aquí dos documentos se insertan primero usando el comando InsertOne . Luego, el documento con valor de x igual a 5 se actualiza y su valor se incrementa en 3. Por último, el documento que contiene y se elimina con el comando DeleteOne .
Producción :
{'_id': ObjectId('5f060cd7358fae75aad1ae94'), 'x': 8}
Publicación traducida automáticamente
Artículo escrito por gauravbabbar25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA