【问题标题】:Updating Field value in multiple documents in same collection in Firebase [duplicate]更新Firebase中同一集合中多个文档中的字段值[重复]
【发布时间】:2020-07-17 16:33:23
【问题描述】:

我创建了一个聊天应用程序。在应用程序中有一个名为Chat 的集合,其中有文档。每个文档都是一条已发送的消息,其中包含 MessageSentTimeIsButton 等字段。

一旦应用程序中发生某些事情(有人单击按钮),我想在那次聊天中将我所有的文档中的IsButton 的值从False 更改为True

数据如下:

有没有办法一次性更改所有 Field 值而不是使用循环?

我看到有一个叫做 Batch 的东西,但我不确定它是否限制为最多 500 次更新。

谢谢

【问题讨论】:

  • 无法通过一次 API 调用更新多个文档。您必须单独调用每个文档 ID,如果您愿意,可以使用批量。

标签: android firebase google-cloud-firestore


【解决方案1】:

您发现的这两种方法几乎是更新一堆文档的方法。

你可以:

  • 单独更新每个文档,这并不像您想象的那么慢。
  • 或者您可以分批更新文档。

必须更新许多具有相同值的文档可能表明您应该重新考虑您的数据结构。例如,也许您可​​以将IsButton 存储在一个单独的文档中,然后所有客户端都可以阅读/收听。

【讨论】:

    猜你喜欢
    • 2022-12-20
    • 2016-11-25
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2020-04-23
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多