¿Cómo actualizar datos en una colección usando Python?

MongoDB es una base de datos multiplataforma orientada a documentos que funciona con el concepto de colecciones y documentos. MongoDB ofrece alta velocidad, alta disponibilidad y alta escalabilidad.

Actualización de datos en MongoDB

Podemos actualizar los datos en una colección usando el método update_one() y el método update_many(). 
 

actualizar_uno() 

El método update_one() actualiza la primera aparición si se encuentra un documento que coincida con el filtro de consulta. 

Sintaxis :update_one(query, newvalues, upsert=False, bypass_document_validation=False, collation=Ninguno, array_filters=Ninguno, session=Ninguno)
 

Parámetros

filtro : una consulta que coincide con el documento para actualizar.
new_values ​​: Las modificaciones a aplicar.
upsert (opcional): si es «Verdadero», realice una inserción si ningún documento coincide con el filtro.
bypass_document_validation (opcional): si es «Verdadero», permite que la escritura se excluya de la validación de nivel de documento. El valor predeterminado es «Falso».
intercalación (opcional): una instancia de la clase: ‘~pymongo.collation.Collation’. Esta opción solo es compatible con MongoDB 3.4 y superior.
array_filters (opcional): una lista de filtros que especifican qué elementos de array debe aplicar una actualización. Requiere MongoDB 3.6+.
sesión (opcional): una clase: ‘~ pymongo.client_session.ClientSession’.

sugerencia (opcional): un índice que se utilizará para admitir el predicado de consulta especificado. Esta opción solo se admite en MongoDB 4.2 y superior.

Ejemplo:

La base de datos de ejemplo es la siguiente: 

Python3

import pymongo
 
 
client = pymongo.MongoClient("mongodb://localhost:27017/")
 
# Database name
db = client["GFG"]
 
# Collection name
col = db["gfg"]
 
# Query to be updated
query = {"coursename": "SYSTEM DESIGN"}
 
# New value
newvalue = {"$set": {"coursename": "Computer network"}}
 
# Update the value
col.update_one(query, newvalue)

Salida :

Método: actualizar_muchos() 

El método update_many() actualiza todos los documentos que coinciden con el filtro de consulta. 
 

Sintaxis: 

update_many(query, newvalues, upsert=False, bypass_document_validation=False, 
            collation=None, array_filters=None, session=None)

Parámetros :

  • filtro ‘ : Una consulta que coincide con el documento a actualizar.
  • new_values ​​’ : Las modificaciones a aplicar.
  • upsert ‘ (opcional): si es «Verdadero», realice una inserción si ningún documento coincide con el filtro.
  • bypass_document_validation ‘ (opcional): si es «Verdadero», permite que la escritura se excluya de la validación de nivel de documento. El valor predeterminado es «Falso».
  • intercalación ‘ (opcional): Una instancia de la clase: ‘~pymongo.collation.Collation’. Esta opción solo es compatible con MongoDB 3.4 y superior.
  • array_filters ‘ (opcional): una lista de filtros que especifican qué elementos de array debe aplicar una actualización. Requiere MongoDB 3.6+.
  • sesión ‘ (opcional): una clase:’~pymongo.client_session.ClientSession’.

Ejemplo:

Python3

import pymongo
 
 
client = pymongo.MongoClient("mongodb://localhost:27017/")
 
# Database name
db = client["GFG"]
 
# Collection name
col = db["gfg"]
 
# Query to be updated
query = {"coursename": "SYSTEM DESIGN"}
 
# New value
newvalue = {"$set": {"coursename": "Computer network"}}
 
# Update the value
col.update_many(query, newvalue)

Producción:

Publicación traducida automáticamente

Artículo escrito por vipinyadav15799 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 *