Mulai sekarangMulai gratis

Menggunakan bulk_write()

Seperti yang Anda lihat di video, Anda dapat menggunakan beberapa operasi dalam .bulk_write():

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

Anda sedang melakukan pembersihan musim semi pada basis data film Anda, di mana beberapa hal ini akan sangat berguna!

Pertama, tim Anda ingin menandai semua film pemenang Oscar dengan penilaian tinggi sebagai "featured" di beranda. Kedua, untuk mengurangi kekacauan, Anda diminta menghapus semua film yang dirilis sudah sangat lama.

Anda akan mengelompokkan kedua perubahan tersebut ke dalam satu operasi .bulk_write() untuk mengeksekusinya bersama-sama.

Latihan ini merupakan bagian dari kursus

Pengantar MongoDB di Python

Lihat Kursus

Instruksi latihan

  • Lengkapi operasi pertama dalam operations untuk memperbarui semua film dengan rating lebih besar atau sama dengan 8.0 dan yang memenangkan Oscar; setel field baru "featured" ke True untuk film-film tersebut.
  • Lengkapi operasi kedua dalam operations untuk menghapus semua film dengan tahun rilis sebelum 1980.
  • Jalankan operasi .bulk_write() pada mov dan simpan hasilnya sebagai res.
  • Cetak berapa banyak dokumen yang diubah dan berapa banyak dokumen yang dihapus.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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.____)
Edit dan Jalankan Kode