【问题标题】:Firebase Database KeysFirebase 数据库密钥
【发布时间】:2016-09-04 14:41:54
【问题描述】:

对于具有一些基本数据库/firebase 经验的任何人来说,这应该是一个简单的答案。我查看了他们的文档,但找不到我要查找的内容的简单解释。

我是一般数据库的新手,所以如果这里已经有一篇关于我的问题的好帖子,或者互联网上的其他地方,请随时告诉我。

我的问题

假设我的 React 应用程序中有一个输入字段,每次用户在其中输入一个值并按 Enter 键时,我希望将数据推送到我的数据库的某个部分,让我们称之为领域,“任务”。我实际上能够做到这一点,并且每次按下回车键时都可以实时查看在我的任务目录中创建的信息。我可以看到 firebase 使用自己唯一生成的“密钥”将其输入任务目录。

但是,我的问题是我有另一个组件,我想将所有子项从“任务”输出到屏幕。我认为我的问题是我不了解如何存储数据以及如何操作数据的基本原则(firebase 的官方文档没有太大帮助)。

我在上述方面的尝试 在我的组件中,我尝试使用 javascript map 函数,它只是遍历任务中的项目,并将每个项目输出到自己的 div 中。这里的问题是唯一键标识符不适用于 array.map 函数。但是,假设我手动将任务列表输入到数据库中,并给它们我自己的密钥,从 0 开始,然后按顺序升序(0、1、2、3、4、5)

下面的小图告诉你我的意思。我手动输入了这些任务,并且可以通过它们进行映射,但是如果它们具有从 firebase 随机生成的密钥,则它不起作用。非常感谢任何帮助。

【问题讨论】:

    标签: javascript reactjs firebase firebase-realtime-database


    【解决方案1】:

    您想使用 .set() 来指定您的 ID。也就是说,Firebase 使用的随机生成的 ID 用于重要目的(时间戳),因此请自行决定是否覆盖这些 ID。

    如果您要手动分配 ID,请尝试以下操作:

    var tasksRef = ref.child("tasks")
    tasksRef.child('0').set({'hello world')}
    

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2017-07-02
      相关资源
      最近更新 更多