【问题标题】:Firebase: query data that has subkeyFirebase:查询具有子键的数据
【发布时间】:2018-06-09 11:58:07
【问题描述】:

我有一个实时数据库:

  users
    + 34534
    + 00123
      company: "Foo2"
    - 04521
      - actions
        - LELgkJG-4ETy3G480ru
          timestamp: 1528315440019
          type: "QRCODE"
        - LELgkJG-4ETy3G480ru
          timestamp: 1528315440000
      company: "Foo"
    + 12345

这样每个用户由一个键标识,并且每个用户都有一个动作数组。

所以用户 00123 没有操作,而用户 04521 有操作。

我想查询至少有一项操作的所有用户。可能吗?我需要去规范化我的数据吗?

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    Firebase 数据库可以对位于您查询位置的每个子节点下的已知路径的单个属性进行排序/过滤。由于各个操作不在已知路径上,我认为您无法查询它们。

    获得所需结果的最简单方法是向每个用户添加 actionCount 属性,并在添加/删除操作时使其保持最新并更新。这样您就可以查询具有以下操作的用户:

    firebase.database().ref("users").orderByChild("actionCount").startAt(1)
    

    【讨论】:

    • 感谢@Frank van Puffelen 我正在阅读你的很多答案,有很多东西要学。无论如何,我将等待几天接受分析器。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 2018-06-05
    • 2016-10-30
    • 2017-12-21
    • 2017-10-13
    相关资源
    最近更新 更多