增加Firestore文档中字典中的多个值



我有一个firestore文档,其中包含如下字典:

statAggregation{游戏:10,stat1:1,stat2:3,stat3:7,stat4:15,stat5:0,stat6:12}

此文档包含所有游戏文档的汇总统计数据,每个游戏文档包含统计数据1-6的总计。每次创建新游戏时,我都想在游戏中添加1,并根据该游戏中的个人统计值递增。我知道当创建一个新游戏时,我可以通过使用games.increment((或stat1.increment(方法来增加字典中的每个值,但据我所知,这将是7次写入操作(1次更新游戏计数,6次更新每个stat(。我认为实际读取当前的统计聚合文档,在客户端上进行更新,然后将其写回可能更具成本效益。这样,只需1次读取即可获得文档,1次写入即可将更新后的文档放回。我只是想知道从设计/成本的角度来看,哪一个会更好。

您可以在对updateData()的一次调用中更新任意多个字段,并且它只算作一次写入。更新可以根据您的需要多次使用FieldValue.increment()——它不会改变成本或性能。在这种特殊情况下,先读后写文档并没有带来任何特别的好处。

最新更新