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