4

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

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

4

1 回答 1

3

更新:从 Firebase 2.0 开始,您现在可以根据 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();
   });
});
于 2013-03-31T15:27:12.137 回答