使用mongoengine成功执行MongoDB操作的返回值是多少?

2024-10-01 09:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制定一个规则和/或关于mongoengine返回什么作为操作的成功代码。我可能错了,但根据我测试的结果,有时“操作成功执行”返回1,其他时候返回0。这有什么规定吗?在

在mongoengine文档中没有提到DB操作的返回值。在

我只想构建我的应用程序,知道如果我运行:

result = MyDocumentClass.objects(id=document_id).update_one(**update_dict)

或者:

^{pr2}$

结果=1(或0,以表示成功的代码为准),该操作肯定成功了。在


Tags: 代码文档id应用程序dbobjects规则update
1条回答
网友
1楼 · 发布于 2024-10-01 09:23:25

根据source code^{}返回已更新文档的数目,^{}不返回任何内容(换句话说,返回None)。在

就个人而言,我认为判断操作是否成功的最可靠方法是查看命令是否抛出异常。例如:

try:
    MyDocumentClass.objects(id=document_id).update_one(**update_dict)
    result = 1
except mongoengine.errors.OperationError:
    result = 0
    # process exception (log, for example)

注意:为了使MongoEngine不静默失败并引发异常,您需要通过设置^{}参数来启用safe模式,另请参阅:

相关问题 更多 >