Si está utilizando WriteConcern.ACKNOWLEDGED
(que creo que también es SAFE
) no necesita contaminar su código con la comprobación de errores.
Para ACKNOWLEDGED
, el controlador emitirá automáticamente un getLastError
comando automáticamente y genera una excepción si algo sale mal, por ejemplo, una infracción de índice duplicado.
A partir de la versión 2.10 del controlador Java, el problema de escritura predeterminado es ACKNOWLEDGED
EDITAR
No deberías hacer esto, pero en cualquier caso:
El insert
el método de hecho devuelve WriteResult
. Si es getError()
es null
, todo está bien, de lo contrario, devuelve algo como E11000 duplicate key error index:...
. Para que esto funcione, deberá usar WriteConcern.UNACKNOWLEDGED