2013-01-22 78 views
3

MongoDB update: how to check if an update succeeds or fails?类似,但是对于默认的mongodb shell。 db.collection.update()将在两种情况下静默执行:当查询找到文档时,以及没有时。在两次更新之后,getLastError也为空。MongoDB shell:检查更新是否成功

我怎样才能找出事实上更新没有重新查询收集?

我使用MongoDB的版本2.0.4Ubuntu 12.04

+0

2.0.4,我在Ubuntu 12.04上;我可以更新,如果这将有所帮助。你指的是哪部分文档?我一直盯着这个小时的页面。 –

+1

找不到要更新的文档不是错误。在2.2.2 shell中,您会收到一条消息,告知控制台有多少文档已更新。例如'在0ms更新了1条现有记录' – JohnnyHK

回答

5

db.getLastErrorObj()是你想打电话,以获得更新的结果是什么。它返回的对象如下所示:

{ 
    "updatedExisting" : true, 
    "n" : 2, 
    "connectionId" : 35, 
    "err" : null, 
    "ok" : 1 
} 

n是更新文档的数量。

+0

谢谢,很适合我。 –