2017-11-02 9 views
0

には、例えば、私は上記のようなIDフィールドを持つユーザーのコレクションを持っているfirebase BDでこの["10154924352473317", "10155028001267749", '11220393911113', '11220393911112', '11220393911111']1回のリクエストで範囲別にデータを取得する方法は?

のような配列を持っている、と私は私の配列で、私は「ドンIDを持つすべてのユーザーを取得したいです1つのリクエストである必要がありますが、それは可能ですか?

https://image.prntscr.com/image/K2vFENsFTBOBRujYHwVF_A.png

+0

現在サポートされていないクエリーはhttps://stackoverflow.com/questions/29560088/firebase-equivalent-to-sql-where-in/29564075#29564075 – agit

答えて

2

IDが単調この試行し、整数は最低idと最高のIDを取得増加している場合:クライアントが作成しておくことをお勧めします

var lowestId = ...; 
var highestId = ...; 

ref.orderByKey().startAt(lowestId).endAt(highestId) 
    .on("child_added", function(snapshot){ 
     ... 
    }); 

方法2

を複数のリクエストではなく1つのリクエストしかないので、データベースへの複数のリクエストを行うクラウド機能をスピンアップすることができます(またはクエリするIDの数に応じてすべてのユーザを受け取ります)。fil idsでそれらを調整し、結果を返します。

+0

です。フェッチするフィールドを選択できますか?私はすべてを取得したくないだけで、私が選択するものだけを検索します。http://prntscr.com/h5a7cj –

+0

クエリを使って - あなたがそれらのフィールドだけを保存する 'usersMetaInfo'のような別のノードを追加する場合のみ方法2 - はいで返すものを選択します –

+0

Firebaseリアルタイムデータベースは常に完全なノードを返します。一致する各子ノードから特定のプロパティを選択することはできません。 https://stackoverflow.com/questions/39596678/nosql-data-structure-to-select-subset-of-fields-with-firebase-and-queryを参照してください。 –

関連する問題