在我的应用程序中,我插入/更新了一些文档。 我需要根据操作的结果以某种方式行动,但我不明白如何使用WriteResult对象。
这是成功终止更新的toString():
更新写入结果:{“serverUsed”:“xxx.xxx.xxx.xxx:27017”,“ok”:1,“n”:1,“updatedExisting”:true}
现在,从我读过的文档中,不推荐使用getLastError方法。 我告诉我有多少记录已更新(插入无意义)。 我没有方法来检索OK值。
您对如何管理WriteResult对象以了解操作结果有什么建议吗? 提前致谢, 塞缪尔
答案 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