Om du använder WriteConcern.ACKNOWLEDGED
(vilket jag tror också är SAFE
) behöver du inte förorena din kod med felkontroll.
För ACKNOWLEDGED
, kommer drivrutinen automatiskt att utfärda en getLastError
kommandot automatiskt och höja ett undantag om något gick fel, till exempel dubblettindexöverträdelse.
Från och med v2.10 av Java-drivrutinen är standardskrivproblemet ACKNOWLEDGED
REDIGERA
Du bör inte göra detta, men i alla fall:
insert
metoden returnerar verkligen WriteResult
. Om det är getError()
är null
, allt är OK, annars returnerar det något som E11000 duplicate key error index:...
. För att detta ska fungera måste du använda WriteConcern.UNACKNOWLEDGED