Firebase:javascript on()事件中的查询过滤

时间:2013-03-31 14:55:55

标签: firebase

有没有办法过滤掉我想要带回到ref.on(“value”,...)内的每个孩子的哪些属性?

假设我在https://www.firebase.com/docs/data-structure.html上有结构,但除了名称之外,每个用户还有一个他生成的每一行聊天的列表。我怎样才能带回名字?

1 个答案:

答案 0 :(得分:3)

更新:从Firebase 2.0开始,您现在可以query based on fields

目前没有办法从路径中选择数据(即过滤掉哪些字段)。这里最简单的解决方案是将数据存储在不同的路径中。它大大简化了流程。

users/
users/names/fred/first
users/chat_history/fred/...

另一种有用的方法,特别是当您要使用大量子集(例如朋友列表,组成员等)时,使用索引。

user_index/group_1/fred
user_index/group_1/mary
user_index/group_2/...

users/fred/name
users/fred/chat_history

然后您可以使用以下内容访问数据:

var fb = new Firebase(INSTANCE);
fb.child('user_index').on('child_added', function(ss) {
   fb.child('users/'+ss.name()+'/name').once('value', function(nameSnapshot) {
      var userName = nameSnapshot.val();
   });
});