2011-01-05 10 views
15

के साथ सेफमोड का उपयोग कैसे करूं, मैंने पाया कि आधिकारिक मोंगोडीबी सी # चालक के कुछ तरीके SafeMode का उपयोग करते हैं और SafeModeResult लौटाते हैं। यह SafeMode क्या है और मैं इसका उपयोग कैसे करूं? कुछ उपयोग मामलों को देखना बहुत अच्छा होगा - उदाहरण के लिए, MongoCollection की विधि के साथ एक उपयोग केस।मैं मोंगोडीबी सी # ड्राइवर

उत्तर

29

डीपी को लिखते समय सफेमोड केवल प्रासंगिक है।

गति के लिए, यदि safemode बंद है और एक लेखन ऑपरेशन विफल रहता है तो चालक देखभाल के लिए चारों ओर इंतजार नहीं करता है। शुद्ध प्रभाव कोई अपवाद नहीं फेंक दिया जाता है और आपको नहीं पता कि आपको कोई त्रुटि है।

परफेमोड सेट करने के लिए ड्राइवर को सफलता की पुष्टि के लिए इंतजार करने के लिए मजबूर किया जाएगा, और यदि कोई त्रुटि हुई तो अपवाद फेंक देगा।

आपके द्वारा देखी जाने वाली डेटा के लिए safemode का उपयोग करें (उपयोगकर्ता खाते, आदेश, आदि)।

डेटा है कि आवश्यक नहीं है (प्रवेश, उपयोग के आंकड़े आदि)

MongoDB का डिफ़ॉल्ट व्यवहार है के लिए safemode का उपयोग safemode बंद करने के लिए न करें।

+3

उपयोगकेस के लिए धन्यवाद;) – Edward83

24

documentation से:

safemode, के विभिन्न स्तर हैं और इस वर्ग के उन स्तरों का प्रतिनिधित्व करने के लिए प्रयोग किया जाता है। सेफमोड केवल संचालन पर लागू होता है जो पहले से ही मान वापस नहीं लौटाता है (इसलिए यह या आदेशों पर लागू नहीं होता है)। यह मोंगोकोलेक्शन विधियों के बाद पर लागू होता है: सम्मिलित करें, निकालें, सहेजें और अपडेट करें।

safemode का सार है कि के बाद एक सम्मिलित करें, निकालें, सहेजें या संदेश अद्यतन सर्वर यह एक GetLastError आदेश से पीछा किया जाता है करने के लिए भेजा जाता है ताकि ड्राइवर पुष्टि कर सकते हैं कि आपरेशन सफल रहा है। इसके अलावा, प्रतिकृति सेट का उपयोग करते समय सत्यापित करना संभव है कि जानकारी द्वितीयक सर्वरों की न्यूनतम संख्या के लिए दोहराई गई है।

safemode वर्ग स्थिर गुण और तरीकों कि आप आसानी से आम मोड का उपयोग या बनाने जाने है अपनी खुद की:

* SafeMode.False 
* SafeMode.True 
* SafeMode.WaitForReplications(int n) 

"n" प्राथमिक शामिल हैं, इसलिए आम तौर पर आप n चाहते हैं के लिए मूल्य > = 2.

मुझे उम्मीद है कि यह सुरक्षित मोड के उद्देश्य को समझने के लिए पर्याप्त है।

1

SafeMode अप्रचलित प्रतीत होता है।

समकक्ष WriteConcern.AcknowledgedMongoClientSettings पर (आमतौर पर MongoClient कन्स्ट्रक्टर को पास किया गया)। ड्राइवर के वर्तमान संस्करण (2.2.4) में डिफ़ॉल्ट WriteConcern स्वीकार किया जाता है।

यह भी देखें MongoDb SafeMode compare to WriteConcern

संबंधित मुद्दे