Firebase主细节,同时具有唯一键离子

时间:2017-01-25 12:53:51

标签: angularjs firebase ionic-framework firebase-realtime-database

刚开始使用离子,角度和火焰基地。而且我在创建主 - 细节模式时遇到了问题。

我想要实现的目标: 在我的页面上有一个从firebase数据库中检索的列表。点击列表项时,它应显示所选列表项的详细信息。

我目前拥有的内容: 我可以通过表单在firebase数据库中保存数据。这是我想要的写操作,并将其放入我的列表中。我使用push() firebase方法

添加数据库中的数据

我的问题: 我已经按照documentation

中描述的方式展平了数据结构
MetaData{
    2017:{
      1x48sdf3617SDf542394:{
       name: "someName",
       date: "24/01/2017"
      }
    }
},
fullData{
    2017:{
      8i89gslsdk617SDf542gsLd:{
       name: "someName",
       date: "24/01/2017",
       comment: "someComment",
       required: "true",
       ...
      }
    }
}

所以在列表中,这是主页,我只返回metaData。单击它时应转到详细信息页面。详细信息页面应该从fullData获取数据。问题是如何在元数据和全数据之间进行映射。因为它们都有一个由firebase生成的唯一密钥。

我查看了其他一些问题,但他们没有这个具体问题,因为他们正在定义自己独特的密钥。我不想这样做,想使用来自firebase的自动生成密钥。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以通过两种可能的方式达到您的要求:

  1. 对元数据和详细信息使用相同的密钥。您可以将密钥存储在变量中并使用相同的内容来编写详细信息。你的数据结构就像

    / metadata / someKey / {your javascript object}

    / detail / someKey / {您的元数据详情}

  2. 通过元数据引用它。在这种情况下,您的数据结构将是

  3. / metadata / someKey / {.....,details:someKey1}

    /信息/ someKey1

答案 1 :(得分:0)

我在文档中找到了答案。我需要使用update()方法。首先创建一个密钥,然后在多个位置使用该密钥以使用data()方法保存数据

检查documentation