Update Collection en Python MongoDB

En Update Collection en Python MongoDB verás el concepto explicado en lenguaje claro y un ejemplo que puedes ejecutar en el editor de The Data Schools.

Modifica el código del ejemplo antes de pasar a la siguiente lección: la experimentación fija mejor el aprendizaje que leer pasivamente.

Práctica en el editor: Los ejemplos de esta lección requieren un servidor MySQL o MongoDB real. En el editor del navegador puedes leer el código y practicar la sintaxis; para ejecutarlo de verdad, usa una instalación local o un contenedor Docker.

Para actualizar documentos en MongoDB desde Python, puedes utilizar el método update_one() o update_many() según necesites actualizar un solo documento o varios documentos que coincidan con un criterio específico.


Cómo hacer un Update con Python en MongoDB paso a paso

A continuación se muestra paso a paso como actualizar registros con la sentencia Update en MongoDB con Python.

Importa la biblioteca

tienes que importar la biblioteca pymongo :

Ejemplo

    import pymongo
  

Conexión con la base de datos

Establece la conexión con la base de datos:

Ejemplo

    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["tu bbdd"]
mycol = mydb["Clientes"]
print(mycol)
  

Actualizar un solo documento

Actualiza un solo documento usando update_one() :

Ejemplo

    # Crea un filtro para seleccionar el documento que deseas actualizar (por ejemplo, por _id)
filtro = {"_id": ObjectId("id_del_documento_a_actualizar")}

# Crea una actualización con los campos y valores que deseas cambiar
actualizacion = {"$set": {"campo_a_actualizar": "nuevo_valor"}}

# Actualiza el documento
mycol.update_one(filtro, actualizacion)
print(actualizacion)
  

Actualiza varios documentos

Actualiza varios documentos usando update_many() :

Ejemplo

    
# Crea un filtro para seleccionar el documento que deseas actualizar (por ejemplo, por _id)
filtro = {"_id": ObjectId("id_del_documento_a_actualizar")}

# Crea una actualización con los campos y valores que deseas cambiar
actualizacion = {"$set": {"campo_a_actualizar": "nuevo_valor"}}

# Actualiza los documentos que coincidan con el filtro
mycol.update_many(filtro, actualizacion)
print(actualizacion)
  

Recuerda que necesitas tener instalada la biblioteca pymongo para poder utilizar MongoDB desde Python. Además, asegúrate de que la conexión a tu servidor de MongoDB sea correcta y que tengas los permisos adecuados para realizar las actualizaciones.


Ejemplo para actualizar un documento

Aquí puedes consultar un ejemplo completo sobre como actualizar un solo documento utilizando el método update_one() .

Ejemplo

    import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["tu bbdd"]
mycol = mydb["Clientes"]

myquery = { "dirección":"C/Mayor, 1"}
newvalues = { "$set": { "direccion": "C/Arriba, 5" } }

mycol.update_one(myquery, newvalues)

#print "clientes" después del update:
for x in mycol.find():
  print(x)
  

Ejemplo para actualizar varios documentos

Para actualizar todos los documentos que cumplan con los criterios de la consulta, use el método update_many() .

Actualice todos los documentos donde la dirección comience con la letra "S" :

Ejemplo

    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["tu bbdd"]
mycol = mydb["Clientes"]
print(mycol)
  

Practica Update Collection en Python MongoDB en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Mongodb Update Collection

Practica mongodb update collection en el editor interactivo.

Ejemplo

    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["tu bbdd"]
mycol = mydb["Clientes"]
print(mycol)
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.