交易未在进行中,不能用于 API 请求。火库错误
Transaction not in progress, cannot be used in API requests. FIRESTORE ERROR
我正在学习 firestore 上的交易,我对文档的示例函数做了一些修改,但我不确定为什么我在没有函数
的情况下进行交易时得到 "Transaction not in progress..."
transaction = firestore_db.transaction()
doc_ref = firestore_db.collection(u'metadata').document(u'projects')
#@firestore.transactional
snapshot = doc_ref.get(transaction=transaction)
transaction.update(doc_ref, {
u'count': snapshot.get(u'count') + 1
})
# [END update_data_transaction]
那个错误是什么意思?我想为我的项目制作一个计数器,以便在我的 wep 应用程序上对其进行分页我希望用户可以在不同的页面之间移动,而不仅仅是文档显示的 prev 和 next。感谢您的宝贵时间!
函数,或者更确切地说装饰器 @firestore.transactional
是逻辑的重要组成部分。错误信息意味着你没有开始交易,你只是实例化了一个 trnsaction 对象。
您可以使用 transaction._begin
手动开始交易,但我强烈建议您不要这样做。只需使用提供简单方法来管理事务的装饰器,包括例如错误处理。
我正在学习 firestore 上的交易,我对文档的示例函数做了一些修改,但我不确定为什么我在没有函数
的情况下进行交易时得到 "Transaction not in progress..."transaction = firestore_db.transaction()
doc_ref = firestore_db.collection(u'metadata').document(u'projects')
#@firestore.transactional
snapshot = doc_ref.get(transaction=transaction)
transaction.update(doc_ref, {
u'count': snapshot.get(u'count') + 1
})
# [END update_data_transaction]
那个错误是什么意思?我想为我的项目制作一个计数器,以便在我的 wep 应用程序上对其进行分页我希望用户可以在不同的页面之间移动,而不仅仅是文档显示的 prev 和 next。感谢您的宝贵时间!
函数,或者更确切地说装饰器 @firestore.transactional
是逻辑的重要组成部分。错误信息意味着你没有开始交易,你只是实例化了一个 trnsaction 对象。
您可以使用 transaction._begin
手动开始交易,但我强烈建议您不要这样做。只需使用提供简单方法来管理事务的装饰器,包括例如错误处理。