MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB gère l'échec de l'insertion en Java

Vous devez jeter un œil à "WriteConcern ", il a tous les comportements dont vous avez besoin.

Vous pouvez l'utiliser pour une écriture comme ceci :

coll.insert(dbObj, WriteConcern.SAFE);

Si vous utilisez WriteConcern.SAFE, votre opération attendra un accusé de réception du serveur principal, donc si aucune exception n'est déclenchée, tout va bien.

Ou vous pouvez définir le comportement par défaut pour toutes les opérations d'écriture lors de la création de MongoClient :

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

[Basé sur le commentaire de Colin Morelli] Si vous n'utilisez pas un WriteConcern qui déclenche des exceptions, vous pouvez utiliser WriteResult.getLastError() pour déterminer si cela a réussi ou non. De même, si vous utilisez WriteConcern.SAFE et que l'écriture réussit, WriteResult contiendra des informations utiles telles que le nombre d'enregistrements qui ont été écrits.

Ici, vous pouvez lire sur WriteConcern dans général .