ComenzarEmpieza gratis

Usar bulk_write()

Como viste en el vídeo, puedes usar varias operaciones dentro de .bulk_write():

  • InsertOne()
  • UpdateOne() / UpdateMany() / ReplaceOne()
  • DeleteOne() / DeleteMany()
  • ReplaceOne()

¡Estás haciendo una limpieza de primavera en tu base de datos de películas y varias de estas te vendrán de perlas!

Primero, tu equipo quiere marcar todas las películas ganadoras del Oscar con alta valoración como "featured" en la página principal. Segundo, para reducir el desorden, te piden eliminar todas las películas estrenadas hace mucho tiempo.

Agruparás ambos cambios en una única operación .bulk_write() para ejecutarlos juntos.

Este ejercicio forma parte del curso

Introducción a MongoDB en Python

Ver curso

Instrucciones del ejercicio

  • Completa la primera operación en operations para actualizar todas las películas con una valoración mayor o igual que 8.0 y que hayan ganado un Oscar; establece un nuevo campo "featured" a True para estas películas.
  • Completa la segunda operación en operations para eliminar todas las películas con año de estreno anterior a 1980.
  • Realiza la operación .bulk_write() sobre mov y guarda el resultado en res.
  • Imprime cuántos documentos se han modificado y cuántos se han eliminado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

from pymongo import UpdateMany, DeleteMany

operations = [
  	# Set featured to True for all movies with rating > 8 that won oscar
  	____(
    	{ "rating" : { ____: ____}, "won_oscar": ____ },
    	{ "$set": { ____: ____} }
  	),
  	# Remove all movies with release_year before 1980
  	____(
   		{ "release_year": { ____: ____} }
  	)
]                 

# Perform bulk write
res = mov.____

# Print out counts
print(res.____)
print(res.____)
Editar y ejecutar código