Python MongoDB – Actualizar_uno()

MongoDB es un programa de base de datos multiplataforma orientado a documentos y no relacional (es decir, NoSQL). Es una base de datos de documentos de código abierto que almacena los datos en forma de pares clave-valor.
Primero cree una base de datos en la que realicemos la operación update_one(): 
 

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient
  
try:
    conn = MongoClient()  # Making connection
 
except:
    print("Could not connect to MongoDB")
  
# database
db = conn.database
  
# Created or Switched to collection
# names: GeeksForGeeks
collection = db.GeeksForGeeks
  
# Creating Records:
record1 = { "appliance":"fan",
           "quantity":10,
           "rating":"3 stars",
           "company":"havells"}
record2 = { "appliance":"cooler",
           "quantity":15,
           "rating":"4 stars",
           "company":"symphony"}
record3 = { "appliance":"ac",
           "quantity":20,
           "rating":"5 stars",
           "company":"voltas"}
record4 = { "appliance":"tv",
           "quantity":12,
           "rating":"3 stars",
           "company":"samsung"}
  
# Inserting the Data
rec_id1 = collection.insert_one(record1)
rec_id2 = collection.insert_one(record2)
rec_id3 = collection.insert_one(record3)
rec_id4 = collection.insert_one(record4)
  
# Printing the data inserted
print("The data in the database is:")
cursor = collection.find()
for record in cursor:
    print(record)

Producción :
 

python-mongodb-update-one-1

Carcasa de MongoDB:
 

python-update-one-mongodb-1

actualizarUno()

Es una función mediante la cual podemos actualizar un registro en una base de datos o Colección MongoDB. Este método se enfoca principalmente en dos argumentos que pasamos, uno es el objeto de consulta (es decir, filtrar) que define qué documento actualizar y el segundo es un objeto que define los nuevos valores del documento (es decir, nuevos_valores) y el resto de los argumentos son opcionales que usaremos. discutir en la sección de sintaxis. Esta función encuentra el primer documento que coincide con la consulta y lo actualiza con un objeto que define los nuevos valores del documento, es decir, actualiza un solo documento dentro de la colección según el filtro. 
Sintaxis:
 

collection.update_one(filter, new_values, upsert=False, bypass_document_validation=False, collation=Ninguno, array_filters=Ninguno, sesión=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’.

 

Ejemplo 1: En este ejemplo, vamos a actualizar la cantidad de ventiladores de 10 a 25. 
 

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient
 
conn = MongoClient('localhost', 27017)
# database
db = conn.database
 
# Created or Switched to collection
# names: GeeksForGeeks
collection = db.GeeksForGeeks
 
# Updating fan quantity form 10 to 25.
filter = { 'appliance': 'fan' }
 
# Values to be updated.
newvalues = { "$set": { 'quantity': 25 } }
 
# Using update_one() method for single
# updation.
collection.update_one(filter, newvalues)
 
# Printing the updated content of the
# database
cursor = collection.find()
for record in cursor:
    print(record)

Producción :
 

python-momgodb-update-one-2

Carcasa de MongoDB:
 

python-mongodb-update-one-3

Ejemplo 2: En este ejemplo, estamos cambiando el nombre de la compañía de televisión de ‘samsung’ a ‘sony’ usando update_one(): 
 

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient
 
 
conn = MongoClient('localhost', 27017)
 
# database
db = conn.database
 
# Created or Switched to collection
# names: GeeksForGeeks
collection = db.GeeksForGeeks
 
# Updating the tv company name from
# 'samsung' to 'sony'.
filter = { 'appliance': 'tv' }
 
# Values to be updated.
newvalues = { "$set": { 'company': "sony" } }
 
# Using update_one() method for single updation.
collection.update_one(filter, newvalues)
 
# Printing the updated content of the database
cursor = collection.find()
for record in cursor:
    print(record)

Producción :
 

python-mongodb-update-one-5

Carcasa de MongoDB: 
 

python-mongodb-update-one-5

NOTA: El operador «$set» reemplaza el valor de un campo con el valor especificado. Si el campo no existe, «$set» agregará un nuevo campo con el valor especificado, siempre que el nuevo campo no viole una restricción de tipo.
 

Publicación traducida automáticamente

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