Verifique se há um erro na atualização / inserção | Driver Java MongoDB
Quero verificar se uminsert
falhar (devido ao índice exclusivo = True na coleção). Se houver um erro, faça alguma coisa. Abaixo está um exemplo do meu código.
DBCollection user...;
BasicDBObject Doc = new BasicDBObject(... );
String user_exists = user.insert(Doc).getError(); //insert the doc get error if any
if(user_exists!=null){ //any errors?
user.update(new BasicDBObject(...)); // error exists so do smthng
}
O acima exposto não funciona. Eu acredito que oString user_exists
é sempre nulo. Como posso fazer o trabalho acima?
Eu tenho visto perguntas SO semelhantes e mencione oWriteConcern que pode ser passado noinsert()
. Por exemplo.
coll.insert(dbObj, WriteConcern.SAFE);
fontes:Pergunta SO ouDocumentos do Mongo
No entanto, não sei qual campo devo passar (SEGURO, RECONHECIDO, NÃO RECONHECIDO etc.) para obter o erro. Talvez eu esteja apontando na direção errada.
Não desejo criar uma exceção apenas para verificar se há um erro retornado peloinsert
Operação.