有没有办法过滤掉我想要带回到ref.on(“value”,...)内的每个孩子的哪些属性?
假设我在https://www.firebase.com/docs/data-structure.html上有结构,但除了名称之外,每个用户还有一个他生成的每一行聊天的列表。我怎样才能带回名字?
答案 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();
});
});