我们可以将数据插入Firebase实时数据库吗?

时间:2018-09-19 02:24:43

标签: firebase firebase-realtime-database

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

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

  

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

     

更新-在不替换所有数据的情况下更新已定义路径的某些键

     

push-添加到数据库中的数据列表。每次将新节点推送到列表上时,数据库都会生成一个唯一密钥,例如messages / users //

     

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

但是,我想从Firebase备份中添加/插入数据。我必须插入,因为该应用程序已用于生产环境,而且我无法承担数据的覆盖。

有没有可用的方法来插入/添加数据而不覆盖数据?

非常感谢您的帮助/支持。

1 个答案:

答案 0 :(得分:1)

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

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

但是,如果要还原的数据(在很大程度上)与数据库中的数据相同,则可以使用具有足够深路径的update()调用。