- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果一个事务读取了 3 个文档,然后成功更新了 2 个文档,但此后的某些操作导致事务失败......我是否会为已回滚的 3 次读取和 2 次写入付费?
编辑---
另外,下面的 get() 是否只需要 1 次读取?其中 col2 是 doc1 的子集合。
db.collection('col1').doc('doc1').collection('col2').doc('doc2').get();
编辑 2
firebase 网站声明如下
For example, if a transaction reads documents and another client modifies any of those documents, Cloud Firestore retries the transaction. This feature ensures that the transaction runs on up-to-date and consistent data.
假设我的事务对 10 个不同的文档执行 10 次读取。如果它被调用并且在执行期间一些相同的文档被其他用户更新,这将使事务重试,我是否会被 10 * 重试读取次数击中?
编辑 3
我在这里阅读了更多关于交易的信息 https://firebase.google.com/docs/firestore/transaction-data-contention它声明服务器端事务将锁定文档并等待事务完成。
q1) 由于事务正在锁定而不是一遍又一遍地重试... 对具有事务的 firebase 函数的多个并发调用是否不会花费任何额外的读/写并且函数是否会因为执行而花费更长的时间锁?
q2) 该网页底部还有一个横幅,上面写着
Note: Only the server client libraries support transactions with read operations after write operations. For transactions in the mobile/web SDKs, document reads must come before document writes.
我刚刚在我的 firebase 函数上尝试了这个并收到以下错误...
Error: Firestore transactions require all reads to be executed before all writes.
at Transaction.get (/srv/node_modules/@google-cloud/firestore/build/src/transaction.js:76:19)
我使用的是 firebase admin 版本“^8.8.0”,在写入后执行读取是新版本中添加的功能吗?
最佳答案
If transactions fail, will I still be charged?
是的。阅读已完成,因此您需要为此付费。 (我不确定是否有任何“回滚费用”——因为现在需要撤销更改。)
What is the cost of a sub-collection document read?
doc1 未被读取 - 因此不会收费。您只需为一次阅读付费。
我无法在文档中找到明确的文本,这些答案来 self 个人使用 Firebase 多年的经验。 Firebasers 的确认会很有帮助。
关于firebase - 我们是否为失败的 Firestore 交易收费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64184466/
当我创建订阅时,我设置了一些元数据来识别我在数据库中的订单。当我收到 webhook charge.succeeded 时,来自订阅的元数据未在此事件中传递,我无法识别与此付款相关的订单。如何在与订阅
我正在使用 PayPal Vault 服务将金额从存储的信用卡转移到 PayPal 专业账户。 这是我遵循的文档链接:https://developer.paypal.com/docs/integra
我想将 CloudKit 用于我的一个免费的新应用程序 (0 美元)。这就是为什么如果我的应用程序达到 Apples Cloud Kit 计划的免费套餐限制并产生费用会很糟糕。 我阅读了一些帖子、官方
我在我的应用程序中使用 Azure 推送通知。为了创建移动服务,它需要在其中创建 SQL 数据库,对于 SQL 数据库,我的费用约为 3.5 美元/月。但是当我打开该数据库时,里面什么也没有。问题是为
我通过 Google 的应用内结算购买了受管理产品的应用内购买。 订单正在处理中,但我在 Wallet Merchant Center 中看到订单状态为 Chargeable。 奇怪的是,订单状态是
使用基本版本的 EC2 实例时,“流量”是否有任何变化,基本的意思是: 每月 750 小时的 Linux、RHEL 或 SLES t2.micro 实例使用时间 流量:如果我们设置了一个服务器,并且我
使用基本版本的 EC2 实例时,“流量”是否有任何变化,基本的意思是: 每月 750 小时的 Linux、RHEL 或 SLES t2.micro 实例使用时间 流量:如果我们设置了一个服务器,并且我
我正在使用Angular-Stripe-Checkout library创建像这样的 stripeToken example 。一些亮点如下所示。 与许多 Angular-stripe 库和示例一样,
我将卡信息存储在数据库中,例如客户首次付款时的卡 ID card_***** 和客户 ID cus_**** 以供以后使用.用户选择他的卡,例如以单选按钮 visa****4242 的形式,并使用卡
例如: count = 0 while True: try: if count == 5:
表单已提交两次:1. 页面加载2. 当用户点击结帐按钮时 我想避免第一次提交,它会抛出错误,因为返回的 token 为空:com.stripe.exception.InvalidRequestExce
我正在尝试通过自定义按钮使用 Stripe 的新结帐功能,通过 AJAX POST 将 token 发送到 php 文件,然后该文件将执行收费。不幸的是,我在从 POST 变量中检索 token 时遇
我是一名优秀的程序员,十分优秀!