Encontré que algunos métodos del controlador oficial MongoDB C# usan SafeMode
y devuelven SafeModeResult
. ¿Qué es esto SafeMode
y cómo lo uso? Sería genial ver algunos casos de uso, por ejemplo, un caso de uso con el método RemoveAll
de MongoCollection
.Cómo uso SafeMode con el controlador MongoDB C#
Respuesta
Safemode solo es relevante al escribir en la base de datos.
Para la velocidad, si el modo seguro está desactivado y una operación de escritura falla, el conductor no espera a que le importe. El efecto neto no es una excepción y no sabes que tienes un error.
La modalidad segura activada forzará al controlador a esperar una confirmación de éxito, y si se produce un error emitirá una excepción.
Utilice el modo seguro para los datos que le interesan (cuentas de usuario, pedidos, etc.).
no utilice modo seguro para los datos que no es esencial (tala, estadísticas de uso, etc.)
comportamiento predeterminado de MongoDB es tener modo seguro fuera.
De documentation:
Hay varios niveles de SafeMode, y esta clase se utiliza para representar esos niveles. SafeMode solo se aplica a las operaciones que aún no devuelven un valor (por lo que no se aplica a las consultas ni a los comandos). Se aplica al siguiendo los métodos de MongoCollection: Insertar, Eliminar, Guardar y Actualizar.
La esencia de SafeMode es que después de una Insertar, Eliminar, Guardar o Modificar mensaje se envía al servidor que es seguido por un comando GetLastError para que el conductor puede verificar que la operación tuvo éxito . Además, cuando se usan juegos de réplica , es posible verificar que la información ha sido replicada a un número mínimo de servidores secundarios .
La clase SafeMode tiene estáticas propiedades y métodos que permiten acceder fácilmente a los modos comunes o crear su propio:
* 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 comprender el propósito de SafeMode.
SafeMode
parece ser obsoleto.
El equivalente es WriteConcern.Acknowledged en MongoClientSettings
(normalmente pasado al constructor MongoClient
). Acknowledged es la WriteEncern predeterminada en la versión actual del controlador (2.2.4).
Vea también MongoDb SafeMode compare to WriteConcern
- 1. Uso del controlador MongoDB C#: ¿envuelto o no envuelto?
- 2. Ordenar por $ natural en MongoDB con el controlador oficial C#
- 3. Mongodb: incluir o excluir ciertos elementos con el controlador C#
- 4. Cómo convertir cadenas a BSON usando el controlador MongoDB C++?
- 5. ¿Cómo guardar array mongodb en vector usando el controlador C++?
- 6. Problemas de seguridad durante el uso del controlador MongoDB PHP
- 7. MongoDB C# conexiones/desconexiones (controlador oficial)
- 8. Proyección de consultas con el controlador MongoDB 10gen
- 9. Controlador MongoDB C#: Ignorar Propiedad en Insertar
- 10. ¿Cómo obtengo la fecha en que se creó una colección MongoDB utilizando el controlador MongoDB C#?
- 11. Recuperar datos de mongodb usando el controlador C#
- 12. ¿Cuál es el controlador MongoDB más maduro para C#?
- 13. ¿Cómo se generan consultas complejas con MongoDB y el controlador C#?
- 14. MongoDB Búsqueda de expresiones regulares: comienza con el uso del controlador de JavaScript y NodeJS
- 15. ¿Qué controlador de MongoDB para Node.js?
- 16. Conectando a mongodb usando el controlador PDO
- 17. ¿Cómo uso el controlador HTMLUnit con Selenium de Python?
- 18. Cómo usar SetField en FindOne en MongoDB para el controlador C#
- 19. ¿Hay compatibilidad con el controlador mongodb C# System.Dynamic.DynamicObject en .NET 4?
- 20. ¿Cómo especificar una orden o clasificación utilizando el controlador C# para MongoDB?
- 21. Cómo sé el tamaño de mi documento dentro de MongoDB con el controlador ruby
- 22. Usando comandos de shell MongoDB en el controlador de MongoDB 10Gen
- 23. ¿Cómo eliminar un 'documento' por 'ID' usando el controlador oficial C# para MongoDB?
- 24. ¿Cómo se actualiza un campo múltiple usando Update.Set en MongoDB usando el controlador C# oficial?
- 25. El uso de MySQL y MongoDB juntos
- 26. Controlador Casbah Scala MongoDB - objetos incrustados
- 27. Mejore el rendimiento en Mongodb usando el controlador java
- 28. Compruebe si el controlador MongoDB PHP está instalado
- 29. Configurar el registro para el controlador MongoDB Java
- 30. MongoDB GridFs con C#, ¿cómo almacenar archivos como imágenes?
gracias por usecases;) – Edward83