正确的结构和查询Realtime Firebase数据库

时间:2018-04-06 17:46:09

标签: java database firebase firebase-realtime-database

如何在Firebase中构建数据库以搜索食谱?每个食谱都有一些防腐剂。我需要搜索食谱。如果查询包含多个匹配的成分,我需要输出包含匹配值的配方。

现在是我的数据库结构:

{
  "Recepts" : [ {
    "Ingridients" : [ "Carrot", "Sugar" ],
    "Name" : "Carrot Salad"
  }, {
    "Ingridients" : [ "Orange", "Milk" ],
    "Name" : "Orange Milk"
  } ]
}

如果这是正确的,我该如何查询我的数据库?

1 个答案:

答案 0 :(得分:0)

It is a best practice以避免使用数组并将数据列表另存为地图。

要搜索含有成分you could use orderByChild以及equalTo所需成分的食谱。

数据结构将是

{
    "Recipes" : {
        "CarrotSalad": {
            "Ingredients" : {
                "Carrot": true,
                "Sugar": true
            },
            "Name" : "Carrot Salad"
        }, 
    ....
    }
}