Firestore完整集合更新以进行架构更改

时间:2019-07-14 12:28:20

标签: google-cloud-firestore google-cloud-build schema-migration

我正在尝试找出一种可靠的策略来处理Firestore中的架构更改。我的想法是,架构更改通常需要读取然后写入集合中的每个文档(或者可能写入其他集合中的文档)。

这是我的担忧:

  • 我不知道将来的收藏数量会是多少。在一次查询中可以读取多少个文档,我会遇到任何限制吗?
  • 我当前的计划是从Cloud Build运行模式更改脚本。可能会超时吗?
  • 进行实际更新的最有效方法是什么? (例如,读取文档,向文档写入更新,重复...)
  • 我应该使用批量写入吗?

此外,请随时告诉我您是否认为这是实施方案更改的完全错误方法,并提出了更好的解决方案。

1 个答案:

答案 0 :(得分:0)

  

我不知道将来的收藏数量会是多少。在一次查询中可以读取多少个文档,我会遇到任何限制吗?

如果文档数量太大而无法在单个查询中处理,则可以开始对结果进行分页。

  

我当前的计划是从Cloud Build运行模式更改脚本。可能会超时吗?

现在还不能说。

  

进行实际更新的最有效方法是什么? (例如,读取文档,向文档写入更新,重复...)

如果您需要文档的现有内容来确定其新内容,那么您确实需要阅读它。如果您不需要现有内容,则只需要路径即可,并且可以考虑仅将Node.js API仅用于retrieve the document IDs

  

我应该使用批量写入吗?

批量写入没有性能优势。实际上,它们通常比从您的代码中并行发送各个更新调用要慢。