Firebase:检索多个节点

时间:2016-11-12 17:39:43

标签: firebase firebase-realtime-database

是否可以从Firebase中检索由逗号分隔的多个节点?

例如,使用以下命令获取用户的nameimage属性:

/users/$USER_ID/name,image

而不是下载所有用户信息

2 个答案:

答案 0 :(得分:1)

Firebase SDK始终从数据库中检索完整的节点。无法选择节点的子集。

如果您发现需要节点的子集并且下载所有节点会过于浪费,那么您应该将数据建模为具有额外的集合,其中您只保留每个用户所需的属性:

user
  uid1
    name: "TheUnreal"
    image: "https://graph.facebook.com/1214076718653094/picture?type=large"
    stackid: 3669981
    lastquestionid: 40565750
  uid2
    name: "Frank van Puffelen"
    image: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG"
    stackid: 209103
    lastquestionid: 39984247
users_names_images
  uid1
    name: "TheUnreal"
    image: "https://graph.facebook.com/1214076718653094/picture?type=large"
  uid2
    name: "Frank van Puffelen"
    image: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG"

使用此数据结构,您可以通过查询相应的顶级节点来选择是获取数据的子集还是完整数据。在NoSQL数据库中复制这样的数据是相当常见的,在这些数据库中,您经常会根据应用程序的使用情况对数据进行建模。

答案 1 :(得分:0)

您可以使用类检索节点。我这样做。为什么不操纵返回的值,以便以您能够使用的方式进行操作。