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ş
Egzersiz talimatları
operationsiç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ıTrueolarak ayarla.operationsiçindeki ikinci işlemi tamamla: yayımlanma yılı1980'den önce olan tüm filmleri sil..bulk_write()işleminimovüzerinde gerçekleştir ve sonucuresolarak 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.____)