2016-12-02 21 views
1

にテーブルからすべてのキーを取得します。これは、Firebaseでusersテーブルの構造である:firebase

users 
| 
+- 12345 
     | 
     + firstName: ..... 
     + lastName: ..... 
| 
+- 67890 
     | 
     + firstName: ..... 
     + lastName: ..... 

私が何をしたいのかusersテーブル内のすべてのキーを収集し、配列に格納されます。バックと呼ばれるもの

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

がログインしている現在のユーザーのほんの対象である:[ 12345, 67890 ]

私がこれまで持っているもの:のようにたとえば、リターン時に配列は次のようになります。

私はすでにメンバーのキーは私がやろうとしていますどのような(すなわちfirstName

に渡されたときに、関連するデータを提供fucntionsのセットアップは、配列にusersテーブル内のすべてのキーを取得することですしています。その配列をループし、各ユーザーの詳細を取得し、そのデータを別の配列にプッシュすると、私はそれを使って何かできるのです。

これは本当に単純な問題であると私はドキュメントで何かをしないのです

+0

解決済み!この質問を自由に閉じる – wmash

答えて

1

がそれを解決することを場合、私は謝罪!

userRefはリセットされていませんでした。私のfirebaseメソッドはすべてサービスで分離されているので、私は変数userRefをグローバルに設定しています。通常、すべての機能の開始時に私はuserRefをリセットしましたが、この例ではを設定していました。明らかに最後の設定値はuserRefです。これは私が望んでいない値です。