كيف يمكنني استخدام Safemode مع برنامج تشغيل MongoDB C#

StackOverflow https://stackoverflow.com/questions/4604868

  •  25-09-2019
  •  | 
  •  

سؤال

لقد وجدت أن بعض طرق استخدام برنامج تشغيل Mongodb C# الرسمي SafeMode والعودة SafeModeResult. ما هذا SafeMode وكيف يمكنني استخدامه؟ سيكون من الرائع رؤية بعض حالات الاستخدام - على سبيل المثال ، حالة استخدام مع RemoveAll طريقة أ MongoCollection.

هل كانت مفيدة؟

المحلول

Safemode هو فقط ذات صلة عند الكتابة إلى DB.

للسرعة ، إذا كانت Safemode متوقفة وفشل عملية الكتابة ، فلن ينتظر السائق للرعاية. لا يتم إلقاء التأثير الصافي ولا تعرف أن لديك خطأ.

ستجبر SafeMode على ON السائق على انتظار تأكيد النجاح ، وإذا حدث خطأ ، فسوف يلقي استثناء.

استخدم SafeMode للبيانات التي تهتم بها (حسابات المستخدمين ، أو الطلبات ، إلخ).

لا تستخدم SafeMode للبيانات غير الضرورية (التسجيل وإحصائيات الاستخدام وما إلى ذلك)

سلوك MongoDB الافتراضي هو إيقاف Safemode.

نصائح أخرى

من توثيق:

هناك مستوى مختلف من Safemode ، ويستخدم هذا الفئة لتمثيل تلك المستويات. ينطبق Safemode فقط على العمليات التي لا تُرجع بالفعل قيمة (بحيث لا تنطبق على الاستعلامات أو الأوامر). ينطبق على طرق mongocollection التالية: أدخل وإزالة وحفظ وتحديث.

إن Gist of Safemode هو أنه بعد إدراج رسالة أو إزالتها أو حفظها أو تحديثها إلى الخادم ، يتبعها أمر getLasterror حتى يتمكن برنامج التشغيل من التحقق من نجاح العملية. بالإضافة إلى ذلك ، عند استخدام مجموعات النسخة المتماثلة ، من الممكن التحقق من أن المعلومات قد تم تكرارها إلى حد أدنى لعدد الخوادم الثانوية.

تحتوي فئة SafeMode على خصائص وطرق ثابتة تتيح لك الوصول بسهولة إلى أوضاع مشتركة أو إنشاء خاص بك:

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

تتضمن قيمة "N" الأساسي ، لذلك عادة ما تريد n> = 2.

آمل أن يكون هذا يكفي لفهم الغرض من Safemode.

SafeMode يبدو أن عفا عليها الزمن.

المكافئ هو WriteConcern.AckNowded على MongoClientSettings (عادة ما ينتقل إلى MongoClient البناء). المعترف به هو الافتراضي للكتاب في الإصدار الحالي من برنامج التشغيل (2.2.4).

أنظر أيضا Mongodb Safemode مقارنة مع WriteConcern

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top