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