MongoDB:getLastError()返回什么

Eri*_*rik 5 java mongodb

如果删除 操作成功,则认为WriteResult.getLastError()应该返回. null

它返回这个

{ "n" : 1 , "connectionId" : 200 , "wtime" : 0 , "err" :  null  , "ok" : 1.0}  
Run Code Online (Sandbox Code Playgroud)

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" );
}
Run Code Online (Sandbox Code Playgroud)

Gat*_* VP 5

getLastError()命令正在做正确的事情.它告诉你动作是成功的(ok:1.0)并且没有发生错误("err":null).

有关更多详细信息,请查看最近更新的文档.

getLastError() 还有一些您可能想要调查的与日记和复制相关的功能.


编辑:

回应第一条评论:

...
  if(del.getLastError().ok != 1.0){    
     logger.error("ERROR");  
  }   

} catch (Exception e) {
  logger.error("ERROR" );
}
Run Code Online (Sandbox Code Playgroud)