सहेजें बनाम सम्मिलित करें:
आपके दिए गए उदाहरणों में, व्यवहार अनिवार्य रूप से वही है।
save
अगर इसे "_id" पैरामीटर के साथ पास किया जाता है तो यह अलग तरह से व्यवहार करता है।
सहेजने के लिए, यदि दस्तावेज़ में _id
है , यह _id
. पर संग्रह को क्वेरी करते हुए अपसेट करेगा फ़ील्ड, यदि नहीं, तो यह सम्मिलित हो जाएगा।
यदि कोई दस्तावेज़ निर्दिष्ट _id मान के साथ मौजूद नहीं है, तो सेव () विधि दस्तावेज़ में निर्दिष्ट फ़ील्ड के साथ एक इंसर्ट करती है।
यदि कोई दस्तावेज़ निर्दिष्ट _id मान के साथ मौजूद है, तो सेव () विधि एक अद्यतन करती है, मौजूदा रिकॉर्ड में सभी फ़ील्ड को दस्तावेज़ से फ़ील्ड के साथ बदल देती है।
सहेजें बनाम अपडेट करें :
update
आपके क्वेरी पैरामीटर से मेल खाने वाले मौजूदा दस्तावेज़ को संशोधित करता है। अगर ऐसा कोई मेल खाने वाला दस्तावेज़ नहीं है, तो वह तब होता है जब upsert
चित्र में आता है।
upsert : false
:कुछ नहीं होता है जब ऐसा कोई दस्तावेज़ मौजूद नहीं हैupsert : true
:नया दस्तावेज़ क्वेरी पैराम्स और अपडेट पैराम्स के बराबर सामग्री के साथ बनाया जाता है
save
:किसी भी क्वेरी-पैरा की अनुमति नहीं देता है। अगर _id
मौजूद है और समान _id
. के साथ एक मेल खाने वाला दस्तावेज़ है , यह इसे बदल देता है। जब कोई _id निर्दिष्ट नहीं होता/कोई मिलान दस्तावेज़ नहीं होता है, तो यह दस्तावेज़ को एक नए के रूप में सम्मिलित करता है।