我使用的是Firebase,并且有一个关系结构,它在多对多关系中有“类别”和“配方”,如下所示:
{
"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>。
然而,我正在努力解决的是如何查询/过滤属于早餐类别的具有困难=“容易”的食谱。
关于在关系数据上进行查询,您有什么建议?
发布于 2017-02-09 02:13:57
与在NoSQL中一样,您需要为所需的用例对数据进行建模。因此,如果你想获得一个简单早餐食谱的列表,你应该存储一个简单早餐食谱的列表:
{
"categories_complexities": {
"Breakfast_easy": {
"<recipe_id_1>": true,
"<recipe_id_7>": true
}
},
}请注意,我已经取消了您的数据的嵌套:不要将类别元数据与该类别的食谱列表混合。
https://stackoverflow.com/questions/42118609
复制相似问题