Pregunta

He encontrado que algunos métodos de la MongoDB C # uso SafeMode conductor y el retorno SafeModeResult oficial. ¿Qué es este SafeMode y cómo lo uso? Sería muy bueno para ver algunos casos de uso -. Por ejemplo, un caso de uso con el método RemoveAll de un MongoCollection

¿Fue útil?

Solución

modo seguro sólo es relevante cuando se escribe en el PP.

Para la velocidad, si está apagado y modo seguro una operación de escritura falla el conductor no esperar para el cuidado. efecto neto no es una excepción es lanzada y no se sabe que tiene un error.

modo seguro activado obligará al conductor que esperar una confirmación del éxito, y si se produjo un error lanzará una excepción.

Usar modo seguro para los datos que le preocupan (cuentas de usuario, órdenes, etc.).

No utilice modo seguro para los datos que no son esenciales (registro de estadísticas de uso, etc)

comportamiento predeterminado de MongoDB es tener modo seguro fuera.

Otros consejos

A partir de la documentación :

  

Hay varios niveles de SafeMode,   y esta clase se utiliza para representar   esos niveles. SafeMode se aplica sólo a   operaciones que aún no devuelven un   valor (por lo que no se aplica a las consultas   o comandos). Se aplica a la   siguiendo métodos MongoCollection:   Insertar, Eliminar, Guardar y Actualizar.

     

La esencia de SafeMode es que después de una   Insertar, Eliminar, Guardar o un mensaje de actualización   se envía al servidor que le sigue   por un comando GetLastError por lo que la   conductor puede verificar que la operación   tenido éxito. Además, al utilizar   conjuntos de réplicas es posible verificar   que la información ha sido   replicado a un número mínimo de   servidores secundarios.

     

La clase SafeMode tiene estática   propiedades y métodos que le permiten   acceder fácilmente a los modos comunes o crear   su propia:

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

El valor para "n" incluye la   primaria, por lo general desea n> = 2.

Espero que esto sea suficiente para entender el propósito de SafeMode.

SafeMode parece ser obsoleta.

El equivalente es WriteConcern.Acknowledged en MongoClientSettings (típicamente pasó al constructor MongoClient). Reconocido es la WriteConcern defecto en la versión actual del controlador (2.2.4).

mongodb SafeMode compara con WriteConcern

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top