संस्करण 2 MongoDB C# ड्राइवर को IsUpsert
सेट करने की आवश्यकता है लेखन आदेशों में ध्वज। यह उदाहरण एक संपूर्ण दस्तावेज़ को ऊपर उठाएगा।
var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
var result = await collection.ReplaceOneAsync(
filter: new BsonDocument("_id", 123),
options: new ReplaceOptions { IsUpsert = true },
replacement: newDoc);
संस्करण 1 MongoDB C# ड्राइवर इस तर्क को Save
. के भीतर लागू करता है आज्ञा।
var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
collection.Save(newDoc);
<ब्लॉककोट> सहेजें विधि सम्मिलित करें और अद्यतन का एक संयोजन है। यदि दस्तावेज़ के आईडी सदस्य का कोई मान है, तो इसे एक मौजूदा दस्तावेज़ माना जाता है और दस्तावेज़ पर कॉल अपडेट सहेजें (अप्सर्ट ध्वज सेट करना, अगर यह वास्तव में एक नया दस्तावेज़ है)। अन्यथा इसे एक नया दस्तावेज़ माना जाता है और पहले आईडी सदस्य को एक नया जेनरेट किया गया अद्वितीय मान निर्दिष्ट करने के बाद कॉल सहेजें सम्मिलित करें।
संदर्भ:http://mongodb.github.io/mongo-csharp-driver/1.11/driver/#save-tdocument-method
नोट:हालांकि इसके लिए आईडी फ़ील्ड की उचित मैपिंग की आवश्यकता होती है। उस पर अधिक जानकारी यहाँ:http://mongodb.github.io/mongo-csharp-driver/1.11/serialization/#identifying-the-id-field-or-property