Firebase Firestore和Flatter:当字段为空时更新文档

Firebase Firestore和Flatter:当字段为空时更新文档,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我有一个集合,它代表了一个可用的体育比赛列表(见下图,对不起,意大利语文本)。 每个文档都是一个比赛,并且有一个订阅该比赛的球员列表(id_player1、id_player2等) 当有人想要订阅该比赛时,我必须循环浏览玩家id,当我找到一个空的时,我将其设置为用户id 因此,我的问题是: 如何循环检查文档的字段并检查它们是否为空 我如何计算有多少字段不是空的,所以当这个计数等于X时,我会做些什么 您决定定义6个不同的字段来存储玩家id。。所以你不能循环那些字段。。您可以做的是获取所有六个文

我有一个集合,它代表了一个可用的体育比赛列表(见下图,对不起,意大利语文本)。 每个文档都是一个比赛,并且有一个订阅该比赛的球员列表(id_player1、id_player2等)

当有人想要订阅该比赛时,我必须循环浏览玩家id,当我找到一个空的时,我将其设置为用户id

因此,我的问题是:

  • 如何循环检查文档的字段并检查它们是否为空
  • 我如何计算有多少字段不是空的,所以当这个计数等于X时,我会做些什么

您决定定义6个不同的字段来存储玩家id。。所以你不能循环那些字段。。您可以做的是获取所有六个文件,并逐个检查它们是否为null

您应该做的是重构该逻辑并将玩家id存储在集合中。。只有当集合的计数小于6时才更新集合,这样您就没有检查是否还有空间添加玩家id


再见:您决定定义6个不同的字段来存储玩家id。。所以你不能循环那些字段。。您可以做的是获取所有六个文件,并逐个检查它们是否为null

您应该做的是重构该逻辑并将玩家id存储在集合中。。只有当集合的计数小于6时才更新集合,这样您就没有检查是否还有空间添加玩家id


:d

如果对每个代码<> ID*播放器*字段没有特定含义,考虑将所有播放器ID存储在单个<代码> PraseRIDS <强>数组< /强>字段.< /P>

这样,你可以向字段添加值(防止重复),并找到带有特定播放器的文档ID.

如果对每个个体<代码> ID*播放器*字段没有特定的含义,请考虑将所有播放器ID存储在单个<代码> PraseRIDS < /COD> <强>数组< /强>字段> /P>
这样,您就可以向字段添加值(防止重复)并查找具有特定玩家ID的文档。

使用数组和子集合有什么区别/好处?感觉使用数组比使用集合容易得多使用数组与使用子集合有什么区别/好处?感觉使用数组比使用集合容易得多