如果删除了,WriteResult.getLastError()
应该返回null
手术成功了。
它返回此
{ "n" : 1 , "connectionId" : 200 , "wtime" : 0 , "err" : null , "ok" : 1.0}
BatchData
Document
已成功删除,但getLastError()
不是null
。
如果删除失败,我应该如何编写代码以了解以下代码段:
try {
Query<BatchData> queryDeleteBatchData = mongo.createQuery(BatchData.class);
queryDeleteBatchData.field("uuid").equal(theBatch.uuid);
queryDeleteBatchData.field("senderUuid").equal(on.uuid);
WriteResult del = mongo.delete(queryDeleteBatchData);
if(del.getLastError() != null){
logger.error("ERROR");
}
} catch (Exception e) {
logger.error("ERROR" );
}
答案 0 :(得分:5)
getLastError()
命令正在做正确的事情。它告诉您操作成功(ok:1.0
)并且没有发生错误("err":null
)。
有关详细信息,请查看recently updated docs。
getLastError()
还有一些与您可能想要调查的日记和复制相关的功能。
修改强>
回应第一条评论:
...
if(del.getLastError().ok != 1.0){
logger.error("ERROR");
}
} catch (Exception e) {
logger.error("ERROR" );
}