2017-03-24 5 views
0

Firebaseのユーザー "テーブル"に〜100万人のユーザーがいます。Firebase JS SDKの 'child_added'が大規模データベースで動作しません

各ユーザーのユーザー名を取得する必要があります。

once('value'は、コールの大きすぎる方法ですので、私は「child_added」は任意の成功なしに、私はこのコードを使用しています上で使用してみてください:

usersRef.on('child_added', function (snapshot) { 
    var user = snapshot.val(); 
    console.log(user); 
    var username = user.username ? user.username : null; 
    // Put username in the .txt file, one username per line 
}); 

私は同じくらい15として分、何を待っていました起こりました。今は不可能なようです。 child_added以外に何を試すことができますか?

答えて

0

ノードを100万個取得することは、これまでほとんど実行されていません。あなたは単にネットワーク上であまりにも多くのデータを取得しようとしているだけです。その点では、valuechild_addedの間に違いはありません。両方とも同じ方法でネットワーク上で同じデータを取得します。

あなたがいずれかのクエリによって、クエリによって取得する子どもの数の制限:理由

var ref = firebase.database().ref("users"); 
var user = firebase.auth().currentUser; 
ref.child(user.uid).on("child_added", ... 
+0

この答えは動作しません:

直接ユーザーのノードにアクセスして
var ref = firebase.database().ref("users"); ref.orderByChild("username").equalTo("Dan P.").on("child_added", ... 

またはは、私はすべてのユーザのユーザ名のリストを集め、ログインする必要はありません。 –

+0

おそらくFirebaseのサポート担当者に直接連絡して、自分のプログラマーが自分の望む.txtファイルを提供するようにしています(すべてのユーザーのユーザー名、1行に1つのユーザー名)。 –

+0

また、なぜそれは動作しませんでしたか? Firebaseはサービスを改善しなくなるのだろうか?これは基本的な機能ですが、他の一般的なデータベースでは非常に簡単な作業です... –

関連する問題