MongoDB:getLastError()返回什么

时间:2011-10-20 17:37:36

标签: java mongodb

如果删除了,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" );
}

1 个答案:

答案 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" );
}