嵌套查询非规范化

时间:2017-07-22 21:27:15

标签: android firebase firebase-realtime-database

如何检索包含当前用户可用的所有项目的列表?

在我的应用程序中,用户可以存储多个冰柜并与他人共享这些冰柜。

在每个冷冻柜下,他们可以为分类物品制作类别。然后最终在每个类别下存储他们的物品。

使用我的数据库结构,可以很容易地显示,冻结列表,然后是基于所选冰箱的类别列表,最后是基于当前类别的项目列表。但是我希望用户可以获得所有项目的清单,而不需要他或她先选择任何冰柜或类别。

如何重组数据库?

我有这个数据库树

{
"userFreezer" : {
    "userMail" : {
      "Freezer Id " : {
        "fryserCreator" : "Anders Sund-jensen",
        "fryserNavn" : "fryser"
      },
      "Freezer Id 2" : {
        "fryserCreator" : "Anders Sund-jensen",
        "fryserNavn" : "test"
      }
    },
    "userEmail2" : {
      "Freezer Id" : {
        "fryserCreator" : "Anders Sund-jensen",
        "fryserNavn" : "fryser"
      }
    }
  },
"SharedFreezer": {
      "Freezer Id" : {
            "User Email" : { 
                  "User" = data }
                         }
             }

"category" : {
    "Freezer Id" : {
      "category Id" : {
        "kategoriCreator" : "Anders Sund-jensen",
        "kategoriNavn" : "Fisk"
      }
    }
  },
  "Varer": {
    "Category Id" : {
      "Item" : {
        "enhed" : "spsk",
        "vareDag" : 31,
        "vareMåned" : 7,
        "vareNavn" : "derp",
        "vareTime" : 1504218176660,
        "vareVægt" : 500,
        "vareÅr" : 2017
      } "Item 2" {
         ...}
    }
  }

如前所述,我想要一个可用于当前用户的完整项目列表,并且需要大量的id和嵌套查询,这些查询不同步,因此我不知道该id列表何时完成下载

该应用还具有共享功能,无法将项目保存在用户的电子邮件中。

0 个答案:

没有答案