java - 如何使用 Android 在 Cloud Firestore 中的特定文档之后查询集合?

标签 java android firebase google-cloud-firestore

我有以下数据库结构:

Firestore-root
    |
    --- lists (collection)
          |
          --- userId1 (document)
          |     |
          |     --- userLists (collection)
          |             |
          |             --- docKey1 (document)
          |             |     |
          |             |     --- listName: "ListOne"
          |             |     |
          |             |     --- date: January 15, 2018 at 9:56:24 AM UTC+2
          |             |
          |             --- docKey2 (document)
          |                   |
          |                   --- listName: "ListTwo"
          |                   |
          |                   --- date: January 15, 2018 at 9:58:12 AM UTC+2
          |
          --- userId2 (document)
                |
                --- userLists (collection)
                        |
                        --- docKey1 (document)
                        |     |
                        |     --- listName: "ListOne"
                        |     |
                        |     --- date: January 15, 2018 at 9:56:24 AM UTC+2
                        |
                        --- docKey3 (document)
                              |
                              --- listName: "ListThree"
                              |
                              --- date: January 15, 2018 at 9:59:47 AM UTC+2

使用这种数据库结构,我可以简单地查询与特定用户对应的所有列表。但是,我如何查询数据库以获取具有特定列表的所有用户?

在这种特殊情况下,如何获取所有具有 ListOne 的用户列表?结果应该是:userId1

我需要复制数据还是有其他方法可以做到这一点?

编辑:

Firestore-root
    |
    --- allList
           |
           --- listId1 (collection)
                  |
                  --- userId1 (document)
                  |      |
                  |      --- username: "FirstUser"
                  |      |
                  |      --- //other details
                  |
                  --- userId2 (document)
                         |
                         --- username: "SecondUser"
                         |
                         --- //other details

谢谢!

最佳答案

无法跨多个子集合扩展查询。查询必须包含在单个集合或子集合中。因此,您猜测需要复制数据才能执行查询是正确的。

关于java - 如何使用 Android 在 Cloud Firestore 中的特定文档之后查询集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48269050/

相关文章:

java - GridBagConstraints 未正确对齐 JRadioButton 框

java - 无法使用 2016g 版本的时区更新工具更新时区

java - Android HashMap 提取不同对象

java - EJB Bean 与不同的未完成事务关联

java - 严格模式提示资源泄漏

android - 简单 Activity 的 Xamarin Android 内存泄漏

android - 如何使用 vim 导航 android 框架代码和 HAL 代码?

android - Firebase动态链接,使用一次后清除

android - 使用 ChildEventListener 和 limitToLast 查询时如何从 RecyclerView 中删除

ios - 首次使用电子邮件登录后强制更新 Firebase 用户个人资料照片