我们可以将数据插入 Firebase 实时数据库吗?
Posted
技术标签:
【中文标题】我们可以将数据插入 Firebase 实时数据库吗?【英文标题】:Can we insert a data into Firebase realtime Database? 【发布时间】:2019-02-23 02:43:11 【问题描述】:我的 Firebase 实时数据库的一个子节点变得很大(大约 20 GB),我需要清除它并使用 Python Admin SDK 将上个月从备份中提取的数据插入到 Firebase 实时数据库中。
在文档中,我看到以下选项:
set - 将数据写入或替换到定义的路径,例如消息/用户/
update - 更新定义路径的一些键而不替换所有数据
push - 添加到数据库中的数据列表。每次将新节点推送到列表时,您的数据库都会生成一个唯一键,例如消息/用户//
事务 - 在处理可能被并发更新破坏的复杂数据时使用事务
但是,我想从 firebase 备份中添加/插入数据。我必须插入,因为该应用程序在生产中使用,我无法承受数据覆盖。
是否有任何方法可以插入/添加数据而不覆盖数据?
非常感谢任何帮助/支持。
【问题讨论】:
我在下面写了一个关于基本可能性的快速答案。如果不了解您要恢复的实际数据结构以及您要保留的数据,就很难给出更具体的建议。 【参考方案1】:如果不读取每个位置的当前值,则无法在 Firebase 实时数据库中执行此操作。
唯一允许您根据现有值更新数据的操作是transaction
。 Firebase 事务会为您提供某个位置的(可能的)当前值,然后您返回新值应为的值。
但是,如果您要恢复的数据(大部分)与您在数据库中的数据相同,您或许可以使用具有足够深路径的 update()
调用。
【讨论】:
以上是关于我们可以将数据插入 Firebase 实时数据库吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在没有实时数据库的情况下访问 Firebase 存储吗
当请求中的 nodeId 与数据库中的 nodeId 匹配时,我可以将 Firebase 实时数据库规则设置为只读吗
插入 Firebase 实时数据库会覆盖数据而不是追加,如何让它追加而不是在 js 中覆盖?