首页 > 解决方案 > 如何在flutter中使用firestore更新所有集合

问题描述

我有两个系列。一个集合“用户”,其中包含用户信息(用户名......)和一个集合“帖子”,其中包含我的颤振应用程序的所有帖子。一个帖子文档包含一个“文本帖子”和作者的“用户名”。我在我的应用程序中添加了一个选项,允许用户每 6 个月更改一次昵称。但是我必须更改“用户”集合中的用户名以及它在“帖子”集合中创建的所有帖子。最佳做法是什么?

  1. 用户在“用户”集合中查询更新用户名,我拦截云功能中的“OnUpdate”,并更新服务器端的所有帖子。

  2. 用户在“User”集合中查询更新用户名,并在客户端更新所有“Post”集合。

我想如果我做一个 geDocuments () 有一个限制,所以如果我有太多的“发布”文档,我应该多次做,对吗?

标签: fluttergoogle-cloud-firestore

解决方案


这里没有单一的最佳实践。您描述的两种方法都是有效的,并且没有一种比另一种更好。

在任何一种情况下都需要牢记以下几点:

  • 您可能无法在一次批量写入中处理所有更新(因为一次最多可以处理 500 个文档),所以我建议不要在这上面浪费精力。
  • 在某些情况下,不更新现有文档也是可以接受的(有时甚至是必需的) ,所以我建议也始终考虑这一点。

推荐阅读