Python MongoDB – consulta find_one_and_update

La función find_one_and_update() realmente encuentra y actualiza un documento MongoDB . Aunque por defecto, esta función devuelve el documento en su forma original y para devolver el documento actualizado, se debe implementar return_document en el código.

Sintaxis: 

coll.find_one_and_update(filter, update, options) 

Parámetros:

  • col-colección en MongoDB
  • filtro-criterios para encontrar el documento que necesita ser actualizado
  • actualización: las operaciones que deben implementarse para actualizar el documento
  • aquí se pueden usar opciones de proyección o upsert
  • proyección: un mapeo que informa sobre qué campos se incluyen y excluyen, es 1/VERDADERO para incluir un campo y 0/FALSO para excluir
  • upsert- para insertar un nuevo documento si no se encuentra ningún archivo con los criterios mencionados upsert es VERDADERO
  • return_document: si ReturnDocument.ANTES (el valor predeterminado), devuelve el documento original antes de que fuera reemplazado, o Ninguno si no coincide ningún documento. Si ReturnDocument.AFTER, devuelve el documento reemplazado o insertado.

python-mongodb-sample-database3

Ejemplo 1: Base de datos de muestra:  

Python3

from pymongo import MongoClient
from pymongo import ReturnDocument
 
 
# Create a pymongo client
client = MongoClient('localhost', 27017)
 
# Get the database instance
db = client['GFG']
 
# Create a collection
doc = db['Student']
 
print(doc.find_one_and_update({'name':"Raju"},
                        { '$set': { "Branch" : 'ECE'} },
                        return_document = ReturnDocument.AFTER))

Producción:

{'_id': 5, 'name': 'Raju', 'Roll No': '1005', 'Branch': 'ECE'}

Ejemplo 2: 

Python3

from pymongo import MongoClient
from pymongo import ReturnDocument
 
 
# Create a pymongo client
client = MongoClient('localhost', 27017)
 
# Get the database instance
db = client['GFG']
 
# Create a collection
doc = db['Student']
 
print(# Increasing marks of Ravi by 10
doc.find_one_and_update({'name': "Raju"},
                        { '$set': { "Branch" : 'CSE'} },
                        projection = { "name" : 1, "Branch" : 1 },
                        return_document = ReturnDocument.AFTER))

Producción:

{'_id': 5, 'name': 'Raju', 'Branch': 'CSE'}

Publicación traducida automáticamente

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