MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Überprüfen Sie, ob in update/insert | ein Fehler vorliegt MongoDB-Java-Treiber

Wenn Sie WriteConcern.ACKNOWLEDGED verwenden (was meiner Meinung nach auch SAFE ist ) müssen Sie Ihren Code nicht mit Fehlerprüfungen verunreinigen.

Für ACKNOWLEDGED , gibt der Treiber automatisch einen getLastError aus Befehl automatisch und löst eine Ausnahme aus, wenn etwas schief gelaufen ist, zum Beispiel eine doppelte Indexverletzung.

Ab Version 2.10 des Java-Treibers lautet der Standardwert für Write Concern ACKNOWLEDGED

BEARBEITEN

Sie sollten dies nicht tun, aber auf jeden Fall:

Die insert -Methode gibt tatsächlich WriteResult zurück . Wenn es getError() ist ist null , alles ist in Ordnung, andernfalls wird so etwas wie E11000 duplicate key error index:... zurückgegeben . Damit dies funktioniert, müssen Sie WriteConcern.UNACKNOWLEDGED verwenden