【问题标题】:Does document creation failure count as a write in firestore?文档创建失败是否算作 Firestore 中的写入?
【发布时间】:2021-02-02 18:57:37
【问题描述】:

我的情况是,如果集合中不存在文档,则必须创建文档,如果存在则将其删除。

为了解决这种情况,我想到了:

 1. Read doc
 2. If !doc.exists -> create it
 3. Else -> delete it

但是,也许这样做会更便宜:

 1. Try to create a doc.
 2. If fails because it exists, delete it.

我一直在查看文档https://firebase.google.com/docs/firestore/pricing,但没有找到与不安全操作相关的任何内容。如果创建文档失败,我会被收费吗?

【问题讨论】:

标签: firebase google-cloud-firestore


【解决方案1】:

create 虽然失败了,但仍算作写入操作。

很遗憾,我无法提供观察此行为的步骤。响应基于我自己对 Firestore 的使用,并且看到写入计数随着写入失败而增加。尚不清楚是否所有故障类型都会增加写入计数或所需条件是什么。很遗憾,GCP 文档中没有此信息。

【讨论】:

  • 你是怎么得出这个结论的?它没有在文档中明确介绍。值得一提的是,写入失败的方式有很多种,而且他们可能根本不会考虑计费。
  • 我已经看到计数随着一些故障而增加,是的,您是正确的,有许多不同类型的故障。尽管没有明确记录,但它有点像猜谜游戏。 IMO 因为有些算作写入,所以假设它们都是为了计费估算。
  • 为了制作完整的答案,我建议提供任何人都可以复制的说明,以有效证明您的答案。否则,我们真的不知道这里究竟会发生什么。
  • 对不起,我没有时间把所有这些放在一起,我想我应该收回我的答案。老实说,正如您作为 Firestore 顾问所熟知的那样,当谈到 gcp 时,我们并不完全知道会发生什么。
  • 您实际上无法删除 SO 上已接受的答案,除非您通过标记它来吸引版主。但至少,您可以编辑问题,说明您没有观察此行为的步骤。
猜你喜欢
  • 1970-01-01
  • 2019-07-27
  • 2020-06-15
  • 1970-01-01
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多