首页 > 解决方案 > 我们可以将数据插入 Firebase 实时数据库吗?

问题描述

我的 Firebase 实时数据库的一个子节点变得很大(大约 20 GB),我需要清除它并使用 Python Admin SDK 将上个月从备份中提取的数据插入到 Firebase 实时数据库中。

在文档中,我看到以下选项:

set - 将数据写入或替换到定义的路径,例如消息/用户/

更新 - 更新定义路径的一些键而不替换所有数据

push - 添加到数据库中的数据列表。每次将新节点推送到列表时,您的数据库都会生成一个唯一键,例如消息/用户//

事务 - 在处理可能被并发更新破坏的复杂数据时使用事务

但是,我想从 firebase 备份中添加/插入数据。我必须插入,因为该应用程序用于生产,我无法承受数据的覆盖。

是否有任何方法可用于插入/添加数据而不覆盖数据?

非常感谢任何帮助/支持。

标签: firebasefirebase-realtime-database

解决方案


如果不读取每个位置的当前值,则无法在 Firebase 实时数据库中执行此操作。

唯一允许您根据现有值更新数据的操作是transaction. Firebase 事务会为您提供某个位置的(可能的)当前值,然后您返回新值应为的值。

但是,如果您要恢复的数据(大部分)与您在数据库中的数据相同,您也许可以使用update()具有足够深路径的调用。


推荐阅读