Se stai usando WriteConcern.ACKNOWLEDGED
(che penso sia anche SAFE
) non è necessario inquinare il codice con il controllo degli errori.
Per ACKNOWLEDGED
, il driver emetterà automaticamente un getLastError
comando automaticamente e solleva un'eccezione se qualcosa è andato storto, ad esempio violazione dell'indice duplicato.
A partire dalla v2.10 del driver Java, il problema di scrittura predefinito è ACKNOWLEDGED
MODIFICA
Non dovresti farlo, ma in ogni caso:
Il insert
il metodo restituisce infatti WriteResult
. Se è getError()
è null
, è tutto OK, altrimenti restituisce qualcosa come E11000 duplicate key error index:...
. Affinché funzioni, dovrai utilizzare WriteConcern.UNACKNOWLEDGED