ÎncepețiÎncepe gratuit

Utilizarea bulk_write()

Așa cum ai văzut în videoclip, poți folosi mai multe tipuri de operațiuni în .bulk_write():

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

Faci puțină ordine în baza de date cu filme, iar unele dintre aceste operațiuni îți vor fi de mare ajutor!

În primul rând, echipa ta vrea să marcheze toate filmele foarte bine cotate care au câștigat un Oscar ca "featured" pe pagina principală. În al doilea rând, pentru a reduce dezordinea, ți s-a cerut să ștergi toate filmele lansate cu mult timp în urmă.

Vei grupa ambele modificări într-o singură operațiune .bulk_write() pentru a le executa împreună.

Acest exercițiu face parte din cursul

Introducere în MongoDB cu Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează prima operațiune din operations pentru a actualiza toate filmele cu un rating mai mare sau egal cu 8.0 și care au câștigat un Oscar; setează un câmp nou "featured" la True pentru aceste filme.
  • Completează a doua operațiune din operations pentru a șterge toate filmele cu anul de lansare anterior lui 1980.
  • Execută operațiunea .bulk_write() pe mov și stochează rezultatul în res.
  • Afișează câte documente au fost modificate și câte au fost șterse.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.____)
Editează și rulează codul