从firebase中的表中获取所有密钥

时间:2016-12-02 19:09:24

标签: javascript firebase firebase-realtime-database

这是Firebase中foreach($computer in $computers) { if(Test-Connection $computer -Quiet -Count 1){ Try { Get-EventLog -ComputerName $computer -LogName System -EntryType "Error","Warning" -After (Get-Date).Adddays(-7) ` | Select-Object -Property machineName, EntryType, EventID, TimeGenerated, Message ` | Format-Table -Property MachineName, TimeGenerated, EntryType, Source, Message -AutoSize } Catch { Write-Verbose "Error $($error[0]) encountered when attempting to get events from $computer" } } else { Write-Verbose "Failed to connect to $computer" } } 表格的结构:

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; }

我要做的是将users表中的所有键都放入一个数组中。循环遍历该数组并获取每个用户的详细信息并将该数据推送到另一个数组中,以便我可以使用它。

如果这是一个非常直截了当的问题并且我在文档中遗漏了一些东西,我道歉

1 个答案:

答案 0 :(得分:1)

解决了!

userRef未被重置。因为我的所有firebase方法都是在服务中隔离的,所以我设置了全局变量userRef。通常在每个功能开始时我都会重置userRef,但在这种情况下,我设置了userRef = userRef.orderByKey(),这显然是userRef的最后设定值,这不是我想要的。