这是Firebase中users
表的结构:
users
|
+- 12345
|
+ firstName: .....
+ lastName: .....
|
+- 67890
|
+ firstName: .....
+ lastName: .....
我想要做的是收集
users
表中的所有键并将它们存储在数组中。例如,返回时,数组将类似于:[ 12345, 67890 ]
到目前为止,我有:
var getAllUsersOrderByKey = function() {
var deferred = $q.defer(),
userRef = firebase.database().ref('users/').orderByKey();
userRef.once("value").then(function(snapshot) {
deferred.resolve(snapshot);
});
return deferred.promise;
}
所谓的回叫只是被记录的当前用户的对象。
我已经有了功能设置,当传入成员密钥时即提供相关数据(即
firstName
)我正在尝试做的是将用户表中的所有键放入一个数组中。遍历该数组并获取每个用户的详细信息,然后将数据推送到另一个数组中,以便我可以对其进行处理。
如果这是一个非常直接的问题,并且我在文档中缺少某些内容,我深表歉意
最佳答案
解决了!userRef
没有被重置。因为我所有的firebase方法都隔离在服务中,所以我在全局设置了userRef
变量。通常在每个函数开始时,我都会重置userRef
,但是在这种情况下,我设置的是userRef = userRef.orderByKey()
,这显然是userRef
的最后一个设置值,这不是我想要的值。