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