【问题标题】:Firebase retrieve child keys but not valuesFirebase 检索子键但不检索值
【发布时间】:2015-09-07 16:05:25
【问题描述】:

有没有办法获取所有子节点的键列表(一次或打开连接),而无需传输这些子节点的所有数据?

【问题讨论】:

    标签: javascript firebase


    【解决方案1】:

    Firebase JavaScript SDK 总是检索完整的节点,因此无法只读取键。

    Firebase REST API 有一个参数 shallow=true,它将仅检索该位置下的密钥。见https://firebase.google.com/docs/database/rest/retrieve-data#shallow


    如果您不想使用 REST API,则必须重新构建数据以支持您想要的查询。在 NoSQL 数据存储中维护自己的索引是很常见的,仅用于此类查询。

    例如

    /users
      "12-ad-b3-ad"
        name: "Frank van Puffelen"
        stackoverflowId: 209103
        bio: "auihodasiuodsa ohdsau duia hdsauhio aoi das"
        avatarUrl: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG"
      "18-a7-12-86"
        name: "Linda H"
        stackoverflowId: 3243018
        bio: "as ihuew rew i noiueh ewo we weru irew ure oew"
        avatarUrl: "https://i.stack.imgur.com/0lcm6.jpg?s=32&g=1"
    /uids
      "12-ad-b3-ad": true
      "18-a7-12-86": true
    /stackoverflowIds
      209103: "12-ad-b3-ad"
      3243018: "18-a7-12-86"
    

    【讨论】:

    • 感谢您的信息。我可能不得不将 REST 与 JS SDK 混合使用,因为我想将非规范化/重复保持在最低限度。
    • 该页面上的 REST 实现已被弃用 - 今天有支持的方法吗?
    猜你喜欢
    • 2016-10-27
    • 2018-05-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    相关资源
    最近更新 更多