sql >> Base de Datos >  >> NoSQL >> MongoDB

Error de manejo de MongoDB de inserción en Java

Debe echar un vistazo a "WriteConcern ", tiene todos los comportamientos que necesita.

Puedes usarlo por una escritura así:

coll.insert(dbObj, WriteConcern.SAFE);

Si usa WriteConcern.SAFE, su operación esperará un reconocimiento del servidor principal, por lo que si no se genera ninguna excepción, entonces está bien.

O puede establecer el comportamiento predeterminado para todas las operaciones de escritura cuando está creando MongoClient:

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

[Basado en el comentario de Colin Morelli] Si no usa WriteConcern que genere excepciones, puede usar WriteResult.getLastError() para determinar si tuvo éxito o no. De manera similar, si usa WriteConcern.SAFE y la escritura tiene éxito, WriteResult tendrá información útil, como la cantidad de registros que se escribieron.

Aquí puede leer sobre WriteConcern en general .