bulk_write() का उपयोग
जैसा आपने वीडियो में देखा, आप .bulk_write() में कुछ ऑपरेशंस का उपयोग कर सकते हैं:
InsertOne()UpdateOne()/UpdateMany()/ReplaceOne()DeleteOne()/DeleteMany()ReplaceOne()
आप अपनी मूवी डेटाबेस में कुछ स्प्रिंग क्लीनिंग कर रहे हैं, जहाँ इनमें से कुछ काम आएँगे!
पहला, आपकी टीम चाहती है कि सभी हाई-रेटेड ऑस्कर-विजेता फ़िल्मों को होमपेज पर "featured" के रूप में फ़्लैग किया जाए। दूसरा, अव्यवस्था कम करने के लिए, आपको बहुत पहले रिलीज़ हुई सभी फ़िल्में हटाने के निर्देश दिए गए हैं।
आप दोनों बदलावों को एक ही .bulk_write() ऑपरेशन में ग्रुप करेंगे ताकि वे साथ में चलें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में MongoDB परिचय
अभ्यास निर्देश
operationsमें पहला ऑपरेशन पूरा करें ताकि वे सभी मूवीज़ अपडेट हों जिनकी रेटिंग8.0से अधिक या बराबर है और जिन्होंने ऑस्कर जीता है; इन मूवीज़ के लिए नया फ़ील्ड"featured"कोTrueसेट करें.operationsमें दूसरा ऑपरेशन पूरा करें ताकि वे सभी मूवीज़ डिलीट हों जिनका रिलीज़ ईयर1980से पहले है.movपर.bulk_write()ऑपरेशन चलाएँ और परिणामresके रूप में स्टोर करें.- प्रिंट करें कि कितने डॉक्युमेंट्स मॉडिफ़ाई हुए और कितने डॉक्युमेंट्स डिलीट हुए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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.____)