Musisz spojrzeć na „WriteConcern ", ma wszystkie potrzebne zachowania.
Możesz go użyć na jeden zapis tak:
coll.insert(dbObj, WriteConcern.SAFE);
Jeśli używasz WriteConcern.SAFE, operacja będzie czekać na potwierdzenie z serwera podstawowego, więc jeśli nie zostanie zgłoszony żaden wyjątek, wszystko jest w porządku.
Możesz też ustawić domyślne zachowanie dla wszystkich operacji zapisu podczas tworzenia MongoClient:
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
new ServerAddress("localhost"), builder.build());
[Na podstawie komentarza Colina Morelli] Jeśli nie używasz funkcji WriteConcern, która zgłasza wyjątki, możesz użyć metody WriteResult.getLastError(), aby określić, czy operacja się powiodła, czy nie. Podobnie, jeśli użyjesz WriteConcern.SAFE, a zapis się powiedzie, WriteResult będzie miał na jego temat przydatne informacje, takie jak liczba zapisanych rekordów.
Tutaj możesz przeczytać o WriteConcern w ogóle .