Hvis du bruger WriteConcern.ACKNOWLEDGED
(som jeg synes også er SAFE
) behøver du ikke at forurene din kode med fejlkontrol.
For ACKNOWLEDGED
, vil driveren automatisk udstede en getLastError
kommando automatisk og rejs en undtagelse, hvis noget gik galt, for eksempel duplikatindeksovertrædelse.
Startende fra v2.10 af Java-driveren, er standard skrivebekymring ACKNOWLEDGED
REDIGER
Du bør ikke gøre dette, men under alle omstændigheder:
insert
metoden returnerer faktisk WriteResult
. Hvis det er getError()
er null
, alt er OK, ellers returnerer det noget såsom E11000 duplicate key error index:...
. For at dette skal virke, skal du bruge WriteConcern.UNACKNOWLEDGED