Se você estiver usando
WriteConcern.ACKNOWLEDGED
(o que eu acho que também é SAFE
) você não precisa poluir seu código com verificação de erros. Para
ACKNOWLEDGED
, o driver emitirá automaticamente um getLastError
comando automaticamente e gera uma exceção se algo der errado, por exemplo, violação de índice duplicado. A partir da v2.10 do driver Java, o Write Concern padrão é
ACKNOWLEDGED
EDITAR
Você não deve fazer isso, mas em qualquer caso:
O
insert
realmente retorna WriteResult
. Se for getError()
é null
, tudo está OK, caso contrário, ele retorna algo como E11000 duplicate key error index:...
. Para que isso funcione, você terá que usar WriteConcern.UNACKNOWLEDGED