2011-10-20 28 views
5


silme işleminin başarılı olması durumundadöndürmelidir.MongoDB: getLastError() geri dönüşü

O döndüren bu

{ "n" : 1 , "connectionId" : 200 , "wtime" : 0 , "err" : null , "ok" : 1.0} 

BatchDataDocument başarıyla silindi, ancak getLastError()null değil.

nasıl kod bilmek yazmalıyım, aşağıdaki parçada başarısız silme eğer:

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

cevap

5

getLastError() komut doğru şeyi yapıyor. İşlemin başarılı olduğunu (ok:1.0) ve hiçbir hata oluşmadığını bildiriyor ("err":null). Daha fazla ayrıntı için

recently updated docs göz atın.

getLastError() ayrıca araştırmak isteyebilirsiniz günlük kaydı ve çoğaltma ile ilgili bazı işlevler vardır.


Düzenleme: İlk yorumuna cevaben

:

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

} catch (Exception e) { 
    logger.error("ERROR"); 
} 
+0

. i tuzağa için kodumu yeniden nasıl ("err": null) – Erik

+0

O bağlantıyı GetLastError tarafından döndürülen bilgi ile ilgili herhangi bir belgelerine görmüyorum. – UpTheCreek

+1

Bu yazı yaklaşık 2 yıl önce cevaplandırıldı. Yani "yeni" göreceliydi, o zamandan beri doktorlar tamamen yeniden vampir oldular. Bu bağlantıyı sağladığı yeni dokümanlar gitmek ve arama çubuğuna 'getLastError' yazarak: http://docs.mongodb.org/manual/reference/command/getLastError/ –

İlgili konular