Python MongoDB – bulk_write()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *