私はソーシャルアプリケーションで作業しています。私はバックエンド(API)としてFirebaseを使用しています。私はすべての希望のデータを取得するために単一のクエリを実行することができません。私のデータベース構造は次の通りです:Firebaseは共通IDに基づいて複数のノードからデータを取得します
**post**
{
"postID1":
{ url: "http://stackoverflow.com"
desc: "some description here" }
"postID2":
{ url: "http://google.com"
desc: "again some description here"
}
}
**album**
{
postID1:
{
albumID1:
{
type: 'Image'
name: 'my first album'
}
}
postID2:
{
albumID2:
{
type: 'youtube'
name: 'my second album'
url: 'http://youtube.com'
}
}
**media**
albumID1
{
mediaID1:
{
type: 'abc'
desc: 'some description'
}
}
すべての投稿をすべてのメディアファイルに含めたいと思っています。 たとえば、私はまず "postID1"を取得し、それからアルバムとメディアファイルを取得し、3つのノードすべてが互いに一意のpostIDを使用して接続します。 "postID2"と同じです...この例では、投稿に関連するアルバムやメディアについて説明しましたが、同じ方法でハッシュタグ、コメント、好きなような他のノードからデータを取得したいと考えています。
私は既にデータベースをセットアップしており、ほとんどの機能は既に動作しています。私はオプション2のために行きたいです。 しかし、私はfirebaseが非同期にクエリを実行するので、複数のクエリを書くいくつかの問題に直面しています。私はすべての投稿をフェッチしている時に、同じループで私は最初のpostIDと関連するデータ(Albums、Media)を得たいと思っています。そして、ループはpostID2のようにするべきです。 しかし、今起こっていることは、アルバムのクエリが同時に実行されているすべての投稿を取得している時点です。 – Daishy
このクエリを実行しているコードを置くことはできますか? –