私はiOSアプリケーションを開発中です。そのためには、原料とレシピを含むfirebaseデータベースがあります。想像するのは難しいことではありません。レシピに関連する子成分があり、複数のレシピに成分を含めることができます。私のJSONの構造の一例は以下の通りです:Firebaseに複数の条件を照会してください
{
"ingredients" : {
"chicken" : {
"meal1" : true,
"meal2" : true
},
"beef" : {
"meal2" : true
},
"lamb" : {
"meal1" : true,
"meal3" : true
}
},
"meals" : {
"meal1" : {
"ingredients" : {
"chicken" : true,
"lamb" : true
}
},
"meal2" : {
"ingredients" : {
"chicken" : true,
"beef" : true
},
"meal3" : {
"ingredients" : {
"lamb" : true
}
}
}
質問:ユーザーが選択した成分のセットが含まれているレシピの一覧を照会し、レシピの配列に追加するためのベストプラクティスは何ですかオブジェクトを二重のレシピで引っ張っていない?私は少なくとも1つの原料マッチを含むすべてのレシピを探しています。
例:ユーザーが「鶏」と私の例のDBから「牛肉」などのレシピを探している、私はrecipe1とrecipe2を返すことを期待しています。レシピ2にはチキンとビーフの両方が含まれていますので、検索結果に2度表示されることは望ましくありません。
私の最初の考えは、最初のチキンの下ですべての食事を照会し、次に牛肉の下ですべての食事を照会し、次に重複を取り除く何らかの機能を実行することでした。これは理論的に取り除かなければならない複数の重複した食事を生成する可能性があるため、私にとっては良い解決策ではないようです。より良い方法がありますか?
ありがとうございました。私は、リストラについての2番目の点に興味があります。私はそれが潜在的に数千のノードとfirebaseの重複を生成することがわかりますが、私はNoSQLに慣れてそのパフォーマンス上の利点を最適化していると思います。 – afcgold