我创建了一个聊天应用。该应用程序中有一个名为Chat
的集合,并且其中包含文档。每个文档都是已发送的消息,其中包含诸如Message
,SentTime
,IsButton
之类的字段。
一旦应用中发生了某些事情(有人单击按钮),我想在聊天时将所有文档中的IsButton
的值从False
更改为True
。
数据如下:
有没有一种方法可以一次更改所有Field
值而不是使用循环?
我看到有一个叫做Batch的东西,但是我不确定是否限制为最多500次更新。
谢谢
答案 0 :(得分:0)
您发现的两种方法几乎都是更新一堆文档的方法。
您可以:
必须使用相同的值更新许多文档,这可能表明您应该重新考虑数据结构。例如,也许您可以将select
th.name home_team
ta.name away_team
m.result
from matches m
inner join teams th on th.teamID = m.homeTeamID
inner join teams ta on ta.teamID = m.awayTeamID
存储在一个单独的文档中,然后所有客户都可以阅读/收听它们。