Frage

Ich fand, dass einige Methoden der offiziellen MongoDB C # Treiber Verwendung SafeMode und Rückkehr SafeModeResult. Was ist das SafeMode und wie ich es verwenden? Es wäre toll, einige Anwendungsfälle zu sehen - z. B. einen Anwendungsfall mit dem RemoveAll Verfahren eines MongoCollection

War es hilfreich?

Lösung

Safemode ist nur relevant, wenn an die DB zu schreiben.

Für Geschwindigkeit, wenn abgesicherten Modus ausgeschaltet ist und eine Schreiboperation nicht den Treiber nicht auf Pflege warten. Nettoeffekt ist, wird keine Ausnahme ausgelöst, und Sie wissen nicht, dass Sie einen Fehler haben.

gesetzt Safemode zu auf die Fahrer zwingen, für einen Erfolg Bestätigung zu warten, und wenn ein Fehler aufgetreten wird eine Ausnahme ausgelöst.

Mit abgesicherten Modus für Daten, die Sie kümmern sich um (Benutzerkonten, Aufträge, etc.).

Verwenden Sie abgesicherten Modus für Daten nicht, die nicht wesentlich ist (Protokollierung, Nutzungsstatistiken usw.)

MongoDB Standardverhalten ist abgesicherten Modus ausgeschaltet haben.

Andere Tipps

Dokumentation :

  

Es gibt verschiedene Level von Safemode,   und diese Klasse wird verwendet, um darzustellen   diese Ebene. Abgesicherter Modus gilt nur für   Operationen, die nicht bereits zurückkehren kann ein   Wert (so es gilt nicht für Abfragen   oder Befehle). Es gilt für die   MongoCollection folgende Methoden:   Einfügen, Entfernen, Speichern und aktualisieren.

     

Der Kern von Safemode ist, dass nach einer   Einfügen, Entfernen, Speichern oder Update-Nachricht   gesendet wird es anschließend auf den Server   durch einen Befehl, so dass die GetLastError   Treiber kann, dass der Betrieb überprüfen   gelungen. Darüber hinaus bei der Verwendung von   Replikatsätzen es möglich ist, zu überprüfen,   dass die Informationen haben   repliziert zu einem gewissen Mindestanzahl von   Sekundär-Server.

     

Die Safemode-Klasse hat statisch   Eigenschaften und Methoden, die Sie lassen   einfacher Zugriff auf gemeinsame Modi oder erstellen   Ihre eigenen:

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

Der Wert für „n“ enthält die   primäre, wollen Sie so typisch n> = 2.

Ich hoffe, das ist genug, um den Zweck der Safemode zu verstehen.

SafeMode erscheint obsolet.

Das entspricht WriteConcern.Acknowledged auf MongoClientSettings (in der Regel übergeben zum MongoClient Konstruktor). Anerkannt ist der Standard WriteConcern in der aktuellen Version des Treibers (2.2.4).

Siehe auch MongoDB Safemode vergleichen zu WriteConcern

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top