sql >> Databáze >  >> NoSQL >> MongoDB

Selhání zpracování MongoDB vložení v Javě

Musíte se podívat na "WriteConcern “, má všechna potřebná chování.

Můžete jej použít na jeden zápis takto:

coll.insert(dbObj, WriteConcern.SAFE);

Pokud používáte WriteConcern.SAFE, vaše operace bude čekat na potvrzení od primárního serveru, takže pokud není vyvolána žádná výjimka, jste v pořádku.

Nebo můžete nastavit výchozí chování pro všechny operace zápisu když vytváříte MongoClient:

MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
    new ServerAddress("localhost"), builder.build());

[Na základě komentáře Colina Morelliho] Pokud nepoužíváte WriteConcern, který vyvolává výjimky, můžete použít WriteResult.getLastError() k určení, zda byl úspěšný nebo ne. Podobně, pokud použijete WriteConcern.SAFE a zápis bude úspěšný, bude mít WriteResult užitečné informace, jako je počet záznamů, které byly zapsány.

Zde si můžete přečíst o WriteConcern v obecně .




  1. sql „jako“ operace s čísly v mongodb

  2. $lookup vrací prázdné pole

  3. MongoDB $in Aggregation Pipeline Operator

  4. Jak normalizovat názvy společností