阅读MongoDB操作的响应

时间:2014-09-11 17:00:48

标签: mongodb

在我的应用程序中,我插入/更新了一些文档。 我需要根据操作的结果以某种方式行动,但我不明白如何使用WriteResult对象。

这是成功终止更新的toString():

更新写入结果:{“serverUsed”:“xxx.xxx.xxx.xxx:27017”,“ok”:1,“n”:1,“updatedExisting”:true}

现在,从我读过的文档中,不推荐使用getLastError方法。 我告诉我有多少记录已更新(插入无意义)。 我没有方法来检索OK值。

您对如何管理WriteResult对象以了解操作结果有什么建议吗? 提前致谢, 塞缪尔

1 个答案:

答案 0 :(得分:0)

我正在使用另一个隐藏此弃用的框架,但自从删除了该框架后,我也遇到了这个问题。

当你在阅读文档试图说的内容时,我也感到困惑。完成MongoDB源代码后,它看起来就像以前一样:

WriteResult result = collection.update(query, update, true, false);
if (!result.getLastError().ok()) {
    // handle error here
}

现在看起来像这样:

try {
    collection.update(query, update, true, false);
}
catch (CommandFailureException e) {
    CommandResult result = e.getCommandResult();
    // you can use result.ok() here, but it should almost always return false.
}

MongoException是一个运行时异常,包含多个子类,包括CommandFailureException,因此您可能需要查看javadocs here