Pokud používáte WriteConcern.ACKNOWLEDGED (což si myslím, že je také SAFE ) nemusíte svůj kód znečišťovat kontrolou chyb.
Pro ACKNOWLEDGED , ovladač automaticky vydá getLastError příkaz automaticky a vyvolá výjimku, pokud se něco pokazí, například duplicitní porušení indexu.
Počínaje verzí 2.10 ovladače Java je výchozí obava při zápisu ACKNOWLEDGED
UPRAVIT
Neměli byste to dělat, ale v každém případě:
insert metoda skutečně vrací WriteResult . Pokud je to getError() je null , vše je v pořádku, jinak vrací něco jako E11000 duplicate key error index:... . Aby to fungovalo, budete muset použít WriteConcern.UNACKNOWLEDGED