有没有办法过滤我想要带回 ref.on("value", ...) 内部的每个子项的哪些属性?
假设我有结构https://www.firebase.com/docs/data-struct.html https://www.firebase.com/docs/data-structure.html,但除了姓名之外,每个用户还拥有他所产生的每一行聊天记录的列表。我怎样才能只取回名字?
UPDATE:从 Firebase 2.0 开始,您现在可以根据字段查询 https://www.firebase.com/docs/web/guide/retrieving-data.html#section-queries.
目前还没有一种方法可以从路径中选取数据(即过滤您返回的字段)。这里最简单的解决方案是将数据存储在不同的路径中。它大大简化了过程。
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();
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)