firebase - 如何使用 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 字段。
我知道如何更新子集合,我只是迷失了这种过滤策略,如果它甚至可能的话。谁能指导我正确的方向?
这里还有一张我的数据库图片供参考
用户集合
Public_Groups 集合
解决方案
推荐阅读
- javascript - 如何使用函数获得预期的 document.write 输出
- docker - Docker - cms 开发的正确方法
- authentication - 智威汤逊的好处能用这个简单的一句话概括吗?
- c# - 在运行时 C# 中构建动态规则集并针对多个对象进行验证
- drop-down-menu - 在 Prestashop 1.7 中添加地址时选择国家 x 时显示通知
- java - 在java中使用正则表达式从json字符串中查找值
- java - 将对象保存到数组 onDestroy Android Studio
- tensorflow2.0 - 如何在 Yolov5 中使用 tensorRT?
- batch-file - Jenkins 将不完整的日志输出到控制台 - SilkTest
- python - 如何同时运行 2 个 While 循环