当前位置:  开发笔记 > 编程语言 > 正文

是否可以仅从Firebase检索密钥列表?

如何解决《是否可以仅从Firebase检索密钥列表?》经验,为你挑选了1个好方法。

我有这种形式的节点:

index
   $categoryId
     $productId

我希望主要检索一个键的列表index,因此一个对象填充了$categoryId索引中的所有可用内容.

有没有办法在Firebase中检索此列表?我假设检索密钥列表比包含所有数据的列表更有效$categoryId.

我知道另一种方法是维护所有类别的索引列表,但这需要更多编码(当编辑和删除类别时).



1> David East..:

您可以使用REST API中的浅键选项,但首选索引.

Plnker演示.

fetch('/category/.json?shallow=true')
  .then((response) => {
    return response.json()
  })
  .then((data) => console.log(data)) // prints only keys under category

不幸的是,实时SDK中没有解决方案.但是,我建议您构建数据以避免使用REST API.尝试$categoryId在Firebase数据库中存储索引.我知道这是额外的代码,但它通常是一个单行.

{
  "lookupCategory": {
    "category_one": true,
    "category_two": true,
    "category_three": true,
    "category_four": true,
    "category_five": true
  }
}

使用此索引,您可以只进行实时监听,或者.once()首选.

var ref = new Firebase('/lookupCategory');
ref.on('value', (snap) => console.log(data));

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有