首页 > 解决方案 > 如何使用 Cloud Firestore 更新 Flutter 中多个但特定文档中的字段?

问题描述

我已经坚持了很长一段时间,所以任何帮助将不胜感激。我的数据库设置是这样的:Collection(Users) -> doc(the current user uid) -> 和一个包含他们加入的组名数组的字段。用户还有一个名为 plasticsCollected 的字段,该字段也显示在他们所在的组中。

我想要做的是,当我更新该字段时,它会为他们所在的所有文档组更新,忽略他们不在的任何其他文档。组的路径是这样的:Collection(Public_Groups) - > doc(唯一组 id)-> 子集合('Members')-> doc(唯一用户 uid)-> 字段(plasticsCollected)。所有加入的用户都被放入这个子集合中,我使用他们独特的 uid 文档将它们显示在一个列表中,从而通过 plasticsCollected 显示他们的数据。

重要的部分是 Collection('Public_Groups') 有一个名为 groupName 的字段。当用户加入这些组时,groupName 会添加到 Users 集合中名为“groups”的数组字段中。我想我想要做的是过滤 Public_Groups 集合以获取一个文档,其中 groupName 的字段与同名的数组匹配。然后,一旦我有了这些特定的文档,我就可以浏览他们的子集合,使用他们的 uid 找到用户的文档并更新 plasticsCollected 字段。

我知道如何更新子集合,我只是迷失了这种过滤策略,如果它甚至可能的话。谁能指导我正确的方向?

这里还有一张我的数据库图片供参考

标签: firebasefluttergoogle-cloud-firestore

解决方案


推荐阅读