首页 > 解决方案 > ANDROID FIRESTORE :获取子集合中包含“当前用户”的所有文档

问题描述

我是 Firestore 云的新手,我正在尝试了解它。我正在尝试构建一个项目,但我陷入了困境。

我的 Firestore 数据库如下所示: 在此处输入图像描述

在此处输入图像描述

我有一个组集合,其中包含“用户列表”子集合”,其中有“时间戳”和“user_id”。当我创建一个组时,我抓住了创建组的“用户”的 user_id,并将其添加到“用户”中列表”。现在我正在寻找“CurrentUser”参与的所有“组”(组名),我很难弄清楚,因为我发现 NoSQL 数据库与 SQL 数据库有很大不同。会如果有人能阐明这个问题,那就太好了。谢谢

标签: androidgoogle-cloud-firestore

解决方案


我不确定这一点,但我认为你最好的选择是添加一些字段来收集每个用户在“用户”集合中涉及的组,使用数组或对象来收集它,因为 Firestore 可以收集数组或对象。

但是TBH,我不确定这是最好的,但这是我现在能想到的最好的。因为有了这些,您只需要为每个想要获取用户组的用户查询 1 次,它可以帮助您不使用大量查询来获取每个用户的用户组。但它会给你一些额外的尺寸。但它仍然很好,因为 Firestore 成本计算基于这种情况下的查询和大小。很少(?)额外的数据比浪费大量的查询来获得只有一个用户的用户组要好。


推荐阅读