J'ai trouvé que certaines méthodes du pilote MongoDB C# officiel utilisent SafeMode
et renvoient SafeModeResult
. Qu'est-ce que c'est SafeMode
et comment l'utiliser? Ce serait génial de voir quelques cas d'utilisation - par exemple, un cas d'utilisation avec la méthode RemoveAll
d'un MongoCollection
.Comment utiliser SafeMode avec le pilote MongoDB C#
Répondre
Le mode de sécurité n'est pertinent que pour l'écriture sur le db. Pour la vitesse, si le mode de sécurité est désactivé et qu'une opération d'écriture échoue, le conducteur n'attend pas pour s'en soucier. L'effet net ne fait pas exception et vous ne savez pas que vous avez une erreur.
Le mode Safemode défini sur Activé force le pilote à attendre la confirmation de la réussite et, en cas d'erreur, déclenche une exception.
Utilisez le mode sans échec pour les données qui vous intéressent (comptes d'utilisateurs, commandes, etc.).
Ne pas utiliser safemode pour les données qui ne sont pas essentielles (exploitation forestière, statistiques d'utilisation, etc.)
comportement par défaut de MongoDB est de safemode avoir éteint.
De documentation:
Il y a différents niveaux de SafeMode, et cette classe est utilisée pour représenter ces niveaux. SafeMode s'applique uniquement aux opérations qui ne renvoient pas déjà une valeur (elle ne s'applique donc pas aux requêtes ou aux commandes). Elle s'applique aux méthodes MongoCollection suivantes: Insérer, supprimer, enregistrer et mettre à jour.
L'essentiel de SafeMode est que, après un Insérer, Supprimer Enregistrer ou mettre à jour un message est envoyé au serveur, il est suivi par une commande GetLastError afin que le conducteur peut vérifier que l'opération a réussi . En outre, lors de l'utilisation de jeux de réplicas , il est possible de vérifier que les informations ont été répliquées sur un nombre minimal de serveurs secondaires.
La classe SafeMode a statiques propriétés et méthodes qui vous permettent facilement accéder à des modes communs ou créer votre propre:
* SafeMode.False * SafeMode.True * SafeMode.WaitForReplications(int n)
La valeur de « n » comprend le primaire , donc généralement que vous voulez n > = 2.
J'espère que cela suffit pour comprendre le but de SafeMode.
SafeMode
semble être obsolète. L'équivalent est WriteConcern.Acknowledged sur MongoClientSettings
(généralement passé au constructeur MongoClient
). Accusé de réception est le WriteConcern par défaut dans la version actuelle du pilote (2.2.4).
Voir aussi MongoDb SafeMode compare to WriteConcern
- 1. Comment utiliser MongoRegex (pilote MongoDB C#)
- 2. Comment utiliser le pilote MongoDB C pour Qt Creator?
- 3. puis-je utiliser pocos avec MongoDB C# pilote
- 4. MongoDB, numéros séquencés et le C# pilote
- 5. mongodb pilote C++ authentifier
- 6. Comment utiliser SetField dans FindOne dans MongoDB Pilote C#
- 7. Trier par $ natural dans MongoDB avec le pilote C# officiel
- 8. MongoDB pilote C avec mon programme
- 9. Conception de schéma MongoDB avec pilote C#?
- 10. C# pilote mongodb écrire préoccupation
- 11. Calcul du rang avec le pilote MongoDB et C#
- 12. Comment utiliser le pilote java de Mongodb dans groovy/grails
- 13. Implémentation de "$ or" avec le pilote C# (Samus) pour MongoDB
- 14. Erreur étrange avec le pilote MongoDb + Java
- 15. MongoDb C# Support du pilote Références cycliques?
- 16. problème avec MongoDB Ruby pilote
- 17. MongoDB C# connexions/déconnexions (pilote officiel)
- 18. Pilote Mongodb C++: codage de chaîne
- 19. Pilote MongoDB C sous Mac OSX Lion
- 20. Comment utiliser Grape avec le pilote Oracle?
- 21. Comment joindre deux collections MongoDB avec le pilote Unity JDBC?
- 22. MongoDB Équivalent à la requête SQL avec le pilote Java?
- 23. Pilote MongoDB C# - Connexion via un proxy
- 24. Impossible de compiler MongoDB 2.0 C++ pilote
- 25. upsert mongodb partielle en utilisant le pilote C#?
- 26. Sharding dans MongoDB en utilisant le pilote C#
- 27. Ruby on Rails 3: Comment utiliser MapReduce avec le pilote MongoDB Ruby?
- 28. Requête agrégée MongoDB utilisant le pilote PHP
- 29. Requêtes multi-champs utilisant le pilote C# pour MongoDB
- 30. Récupérer des données de mongodb en utilisant le pilote C#
merci d'utiliser;) – Edward83