BaşlayınÜcretsiz başlayın

bulk_write() kullanma

Videoda gördüğün gibi, .bulk_write() içinde birkaç işlemi kullanabilirsin:

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

Film veritabanında bahar temizliği yapıyorsun ve bunların bazıları işine yarayacak!

Önce, ekibin ana sayfada yüksek puanlı ve Oscar kazanmış filmleri "featured" olarak işaretlemek istiyor. Sonra, kalabalığı azaltmak için çok eski yayımlanmış tüm filmleri kaldırman isteniyor.

Her iki değişikliği tek bir .bulk_write() işlemi içinde toplayıp birlikte çalıştıracaksın.

Bu egzersiz, kursun bir parçasıdır

Python ile MongoDB'ye Giriş

Kursa Göz Atın

Egzersiz talimatları

  • operations içindeki ilk işlemi tamamla: puanı 8.0'a eşit veya daha büyük olan ve Oscar kazanmış tüm filmleri güncelle; bu filmler için yeni "featured" alanını True olarak ayarla.
  • operations içindeki ikinci işlemi tamamla: yayımlanma yılı 1980'den önce olan tüm filmleri sil.
  • .bulk_write() işlemini mov üzerinde gerçekleştir ve sonucu res olarak sakla.
  • Kaç belgenin değiştirildiğini ve kaç belgenin silindiğini yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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.____)
Kodu Düzenle ve Çalıştır