MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Vérifiez s'il y a une erreur dans update/insert | Pilote Java MongoDB

Si vous utilisez WriteConcern.ACKNOWLEDGED (qui je pense est aussi SAFE ) vous n'avez pas besoin de polluer votre code avec la vérification des erreurs.

Pour ACKNOWLEDGED , le pilote émettra automatiquement un getLastError commande automatiquement et déclenche une exception en cas d'erreur, par exemple une violation d'index en double.

À partir de la v2.10 du pilote Java, le problème d'écriture par défaut est ACKNOWLEDGED

MODIFIER

Vous ne devriez pas faire cela, mais dans tous les cas :

Le insert la méthode renvoie en effet WriteResult . Si c'est getError() est null , tout est OK, sinon il renvoie quelque chose comme E11000 duplicate key error index:... . Pour que cela fonctionne, vous devrez utiliser WriteConcern.UNACKNOWLEDGED