I firebaseで次の階層を持っている、いくつかのデータは機密保持のために隠されています:Firebaseの応答で子ノードを取得せずにFirebaseの子ノードの名前を取得しますか?
私は
(赤で強調)の動画IDのリストを取得しようとしている私ができるだけですべてのノードを取得し、名前を検出して配列に格納します。
しかし、これはパフォーマンスが低下します。私の場合はfirebaseのdataSnapshot
が非常に大きいので、すべてのノードの内容を取得してIDを取得するのを避けたいだけです。つまり、IDだけを取得する必要があります。ここで
は私のコードです:
new Firebase("https://PRIVATE_NAME.firebaseio.com/videos/").once(
'value',
function(dataSnapshot){
// dataSnapshot now contains all the videos ids, lines & links
// this causes many performance issues
// Then I need to loop over all elements to extract ids !
var videoIdIndex = 0;
var videoIds = new Array();
dataSnapshot.forEach(
function(childSnapshot) {
videoIds[videoIdIndex++] = childSnapshot.name();
}
);
}
);
はどのようにして、データ転送の多くを回避し、IDを取得するためにretrivedデータをループを避けるためにIDのみを検索することができますか?これらのIDを直接取得する方法はありますか?
ある@Katoねえ、SDKに 'shallow'を追加する予定はありますか? –
なしHTTPリクエストを作成できないツールを使用していますか?それが実用的でない場合は、SDKリファレンスのsepパスにidのリストを格納できます。マルチパス更新を参照してください。 – Kato