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 :
Carcasa de MongoDB:
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 :
Carcasa de MongoDB:
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 :
Carcasa de MongoDB:
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