Sie müssen sich "WriteConcern ", es hat alle Verhaltensweisen, die Sie brauchen.
Sie können es pro Schreibvorgang verwenden so:
coll.insert(dbObj, WriteConcern.SAFE);
Wenn Sie WriteConcern.SAFE verwenden, wartet Ihr Vorgang auf eine Bestätigung vom primären Server. Wenn also keine Ausnahme ausgelöst wird, sind Sie in Ordnung.
Oder Sie können das Standardverhalten für alle Schreibvorgänge festlegen beim Erstellen von MongoClient:
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
new ServerAddress("localhost"), builder.build());
[Basierend auf Colin Morellis Kommentar] Wenn Sie kein WriteConcern verwenden, das Ausnahmen auslöst, können Sie WriteResult.getLastError() verwenden, um festzustellen, ob es erfolgreich war oder nicht. Wenn Sie WriteConcern.SAFE verwenden und der Schreibvorgang erfolgreich ist, enthält WriteResult auf ähnliche Weise nützliche Informationen, z. B. die Anzahl der geschriebenen Datensätze.
Hier können Sie über WriteConcern allgemein lesen .