使用 Axios 发布到 Firebase 时如何停止随机 ID?

IT技术 reactjs firebase post firebase-realtime-database axios
2021-04-26 06:51:16

我目前正在使用 axios 从我的 React 应用程序中的 Firebase 数据库发布/获取。在我尝试向数据库发送我的第一个 POST 之前,我没有遇到任何问题。它已成功发布,但我收到一个随机字符串作为 ID,而不是直接发布到我想要的数据库中的位置。

随机 id 错误插入 不是 preregs -> group -> 2020 -> userID: value 我想要的,我得到 prereg -> random key -> group -> 2020 -> userID: value。

目前,我的 POST 代码如下:

axios.post('/preregs.json', {
        [this.props.group]: {
            [this.props.currentYear]: {
                [this.props.userID]: document.getElementsByTagName("input")["email"].value
            }
        }
    })

我听说如果您不使用 POST 将数据放入 Firebase 数据库,它就不会创建该随机 ID。但是,补丁不起作用,因为它只会删除我在 2020 年拥有的所有数据。我查看了其他发布的问题,例如在将新数据推送到 firebase 数据库时设置自定义键,但它使用 Firebase 而不是 Axios 来完成这项工作. 此外火力地堡POST定制ID谁似乎有同样的问题,唯一的回答是用“放,但同样是擦除一切我在2020年有什么我失踪停止从火力地堡把这个随机密钥,当我不想要吗?

1个回答

根据实时数据库REST API 文档,使用客户端 SDK 时POST等效于“推送”操作此推送操作始终涉及在随机 ID 下添加数据。推动是无法避免的。

如果您知道要添加数据的节点的名称,则应改用PUT这相当于对客户端 SDK使用“设置”操作

由于您在 javascript 客户端中运行,因此还可以考虑仅使用客户端 SDK,因为它比 REST API 更容易、更高效。