Domanda

ho scoperto che alcuni metodi di MongoDB C # uso conducente SafeMode e ritorno SafeModeResult ufficiale. Che cosa è questo SafeMode e come si usa? Sarebbe bello vedere alcuni casi di utilizzo -., Ad esempio, un caso d'uso con il metodo RemoveAll di un MongoCollection

È stato utile?

Soluzione

Safemode è rilevante solo quando si scrive al db.

Per la velocità, se safemode è spento e un'operazione di scrittura non riesce il driver non attendere a lungo per la cura. Effetto netto non fa eccezione viene buttato e non sai di avere un errore.

Safemode impostato sul costringerà al conducente di attendere una conferma il successo, e se si è verificato un errore un'eccezione.

Usa safemode per i dati che ti interessano (account utente, ordini, ecc).

Non utilizzare safemode per i dati che non è essenziale (logging, statistiche di utilizzo, ecc)

il comportamento predefinito di MongoDB è quella di avere safemode off.

Altri suggerimenti

Da documentazione :

  

Ci sono vari livelli di SafeMode,   e questa classe viene utilizzata per rappresentare   quei livelli. SafeMode vale solo per   operazioni che non hanno già restituiscono un   il valore (in modo che non si applica alle query   o comandi). Essa si applica al   seguenti metodi MongoCollection:   Inserire, rimuovere, salvare e aggiornare.

     

Il succo di SafeMode è che dopo un   Inserire, rimuovere, Salva o un messaggio di aggiornamento   viene inviato al server è seguita   da un comando GetLastError così la   conducente può verificare che l'operazione   successo. Inoltre, quando si utilizza   set di repliche è possibile verificare   che le informazioni sono state   replicati in un numero minimo di   server secondari.

     

La classe SafeMode ha static   proprietà e metodi che consentono   accedere facilmente modi comuni o creare   il proprio:

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

Il valore per "n" comprende la   primaria, così tipicamente si desidera n> = 2.

Spero che questo è sufficiente per capire lo scopo della modalità provvisoria.

SafeMode sembra essere obsoleta.

L'equivalente è WriteConcern.Acknowledged su MongoClientSettings (in genere superato al costruttore MongoClient). Riconosciuto è il WriteConcern di default nella versione corrente del driver (2.2.4).

Vedi anche MongoDb SafeMode confronta con WriteConcern

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top