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

Ios 在Firestore文档中增加字典中的多个值,ios,swift,firebase,google-cloud-firestore,Ios,Swift,Firebase,Google Cloud Firestore,我有一个firestore文档,其中包含一个字典,如下所示: 国家队{比赛:10场,国家队1:1,国家队2:3,国家队3:7,国家队4:15,国家队5:0,国家队6:12} 此文档包含所有游戏文档的聚合统计信息,每个游戏文档包含统计信息1-6的总计。每次创建一个新游戏时,我想在游戏中添加1,并通过该游戏中的单个统计值增加。我知道在创建新游戏时,我可以使用games.increment()或stat1.increment()方法增加字典中的每个值,但据我所知,这将是7次写入操作(1次更新游戏计数,

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

国家队{比赛:10场,国家队1:1,国家队2:3,国家队3:7,国家队4:15,国家队5:0,国家队6:12}


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

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