我使用的是Firebase,它有一个关系结构,在多对多关系中有“categories”和“recipes”,如下所示:
{
"categories": {
"<category_id_1>": {
"name": "Breakfast",
"imageUrl": "http://www.image.com/url",
"recipes": {
"<recipe_id_1>": true,
"<recipe_id_2>": true
}
}
},
"recipes": {
"<recipe_id_1>": {
"title": "Sweet Potato & White Bean Chilli",
"cookingTime": 50,
"portionSize": "4-6",
"difficulty": "Easy",
"categories": {
"<category_id_1>": true,
"<category_id_2>": true
}
}
}
}
我可以通过转到
/categories/<category_id_1>/recipes
并循环获得每个配方的引用来获得类别中的配方:例如/recipes/<recipe_id_1>
。然而,我正在努力解决的是如何查询/过滤早餐类别中有困难的食谱。
您对查询关系数据有什么建议?
最佳答案
与NoSQL中的通常一样,您需要为所需的用例建模数据。所以,如果你想得到一份简单早餐食谱清单,你应该储存一份简单早餐食谱清单:
{
"categories_complexities": {
"Breakfast_easy": {
"<recipe_id_1>": true,
"<recipe_id_7>": true
}
},
}
注意,我不尊重您的数据:不要将类别元数据与该类别的配方列表混合。
关于ios - Firebase查询关系数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42118609/