Firebaseについて聞いてからしばらくして、私は先週私の小さなプロジェクトを開始することにしました。Firebase - 1対多のリレーションシップ&クエリ
私は、データベースの構造に関する多くの記事を読んでいると私は私のデータベースのための2つの解決策を思い付いた:
ケース1
表Bは、OWNERIDを経由して、参照を持っていますテーブル
{
"A" : {
"user-id-1" : {
"name": "James",
"number": "11111"
},
"user-id-2" : {
"name": "Rob",
"number": "11111"
},
...
},
"B" : {
"id-b-1" : {
"something": "value1",
"ownerId" : {
"user-id-1": true
}
},
"id-b-2" : {
"something": "value2",
"ownerId" : {
"user-id-2": true
}
},
"id-b-3" : {
"something": "value3",
"ownerId" : {
"user-id-2": true
}
},
"id-b-4" : {
"something": "value4",
"ownerId" : {
"user-id-1": true
}
},
...
}
}
01内のレコードへケース2
表レコードの IDは、表でテーブルB
{
"A" : {
"user-id-1" : {
"name": "James",
"number": "11111"
"Bs": {
"id-b-1": true,
"id-b-4": true,
"id-b-7": true,
}
},
"user-id-2" : {
"name": "Rob",
"number": "11111"
"Bs": {
"id-b-2": true,
"id-b-3": true,
"id-b-6": true,
}
},
...
},
"B" : {
"id-b-1" : {
"something": "value1",
},
"id-b-2" : {
"something": "value2",
},
"id-b-3" : {
"something": "value3",
},
"id-b-4" : {
"something": "value4",
},
...
}
}
のレコードに、旅館アレイを介して、参照を持っていますfirebaseによって提供されたユーザオブジェクトに他のプロパティを追加できないため、ログインユーザに割り当てられたIDと同じ、ユーザID-1です。
AとBに関連するレコードは、何千ものレコードに拡張できると言いたいと思います。
したがって、AとBの間に1対多の関係があります。
はのは、私がユーザID-1に関連するすべての旅館を取得したいとしましょう:
- データベース構造は、あなたの経験によると、このsituatioに優れていますか?
- オブジェクトをデータベース上で1つだけ実行することで、すべてのオブジェクトを取得するにはどうすればよいですか?
- 私は私がOWNERID値を見て、旅館をフィルタリングすることができますどこ句の並べ替えを使用することはできますか?
ご回答いただきありがとうございます。