Firebase检索子键但不检索值

时间:2015-09-07 16:05:26

标签: javascript firebase

有没有办法获取所有子节点的密钥列表(一次或使用开放连接),而不传输这些子节点的所有数据?

1 个答案:

答案 0 :(得分:6)

Firebase JavaScript SDK始终检索完整的节点,因此无法只读取密钥。

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

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

E.g。

/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"