Jeśli używasz WriteConcern.ACKNOWLEDGED (co moim zdaniem jest również SAFE ) nie musisz zanieczyszczać swojego kodu sprawdzaniem błędów.
Dla ACKNOWLEDGED , sterownik automatycznie wyśle getLastError polecenie automatycznie i zgłoś wyjątek, jeśli coś poszło nie tak, na przykład zduplikowane naruszenie indeksu.
Począwszy od wersji 2.10 sterownika Java, domyślny problem dotyczący zapisu to ACKNOWLEDGED
EDYTUJ
Nie powinieneś tego robić, ale w każdym razie:
insert metoda rzeczywiście zwraca WriteResult . Jeśli jest to getError() jest null , wszystko jest OK, w przeciwnym razie zwraca coś takiego jak E11000 duplicate key error index:... . Aby to zadziałało, będziesz musiał użyć WriteConcern.UNACKNOWLEDGED