如何判断Firestore操作成功还是失败?

时间:2019-01-09 23:12:12

标签: python-3.x google-cloud-firestore firebase-admin

在执行增加或减少计数器的事务操作之前,我需要能够判断文档上的set(),delete()或update()操作是否成功。

我试图打印set(),delete()和update()返回的结果,但是无论操作是否成功,它总是只返回“ seconds”和“ nanos”。我试图对不存在的文档ID或不存在的集合执行操作,但是它总是只返回相同的内容而没有指示是否执行了任何操作。

collection.("some_col").document("SoM3DoC").delete()
collection.("some_other_col").document("SoM30tH3RDoC").collection("some_col_ref").document("SoM3DoC").delete()
然后,仅当以上成功(文档存在并被删除)时:
some_transaction(transaction, collection.("some_other_col").document("SoM30tH3RDoC")) # decrement a counter in this doc

我期望操作方法无法完成该操作会抛出错误,或者返回一些消息以指示该操作,但是我似乎无法获得任何响应。我什至尝试从collection.("asdfsergreasg").document...之类的随机集合开始,但仍然没有任何反应。

1 个答案:

答案 0 :(得分:1)

API documentation指示了各种操作的预期结果,因此应将其用作参考。对文档和集合不存在的某些操作不会产生错误。有的。例如,在不存在的文档上调用get并不是错误,但是返回的对象将清楚地表明不存在任何文档。但是,在不存在的文档上调用update会引发错误。