Firebase 如何更新firestore中存储的发布者信息,以及如何使用Flatter应用程序

Firebase 如何更新firestore中存储的发布者信息,以及如何使用Flatter应用程序,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我正在设计一个Flitter应用程序,用户可以根据自己的经验制作出版物。这些出版物存储在名为“出版物”的firestore集合中。此集合包含发布内容、发布者名称、发布日期以及发布者的个人资料图片。此集合中的所有信息都将用于创建外观良好的UI。现在,我有另一个名为“用户”的集合,其中包含用户的个人信息,如他们的出生日期、电子邮件、姓名和个人资料。我现在的问题是,如果我的用户决定更改他们的个人资料图片或名称,我可以在“用户”集合中更改他们的名称,但我应该如何确保当个人资料图片更改时,“出版物”集合中

我正在设计一个Flitter应用程序,用户可以根据自己的经验制作出版物。这些出版物存储在名为“出版物”的firestore集合中。此集合包含发布内容、发布者名称、发布日期以及发布者的个人资料图片。此集合中的所有信息都将用于创建外观良好的UI。现在,我有另一个名为“用户”的集合,其中包含用户的个人信息,如他们的出生日期、电子邮件、姓名和个人资料。我现在的问题是,如果我的用户决定更改他们的个人资料图片或名称,我可以在“用户”集合中更改他们的名称,但我应该如何确保当个人资料图片更改时,“出版物”集合中存储的所有用户出版物也有更新的图片

另外,我之所以在publications集合和users集合中存储publisher的名称和个人资料图片,是因为我不希望我的应用程序只读取一份出版物就读取两次,因为每次读取需要花费6美分,而读取两次只会使我为firebase服务支付的费用增加一倍


任何帮助都将不胜感激

在配置文件数据不变的情况下,您的方案可能优化了读取,但在配置文件数据发生变化的情况下,您引入了新的成本

如果您在多个文档中复制了这样的数据,并且希望更新所有这些文档,则必须:

  • 查询所有需要更改的文档
  • 迭代结果,并为每个文档
  • 更新它以提供新值

  • 这是没有捷径的。Firestore不提供类似SQL的“update where”类型子句,它可以在一个查询中更新多个文档。

    我不确定您是从哪里知道读取一次要花2美分。使用Firestore,每100000次读取需要花费6美分。你说得对,每10万只卖6美分,我想是看错了价格。谢谢你的回答。顺便问一下,你有没有更好的方法可以用来优化和削减流程成本?对于像Firestore这样的产品,其计费是基于使用情况的,这是你需要根据预期的用户行为来计算的。从来没有一种真正的做事方式最适合所有情况。明白。谢谢