我是否可以通过任何方式将我的JSON文件导入Firebase 而不覆盖现有数据?
答案 0 :(得分:3)
您可以在Firebase数据库控制台中的任意位置导入JSON。所以不仅在根部,而且在它下面的特定路径,例如, /users
,/users/charlinagnes
等
在某个位置导入JSON时,Firebase会在该位置执行setValue()
operation。因此,它会使用您提供的新JSON覆盖该位置的现有数据。
没有用于执行任何类型的合并操作的UI。但幸运的是Firebase拥有广泛的API(毕竟它是开发人员产品),允许您编写自己的合并逻辑。使用update()
方法可能有助于此类合并。
答案 1 :(得分:0)
将服务器中的每个数据与firebase进行比较有点困难。但是您可以将所有数据放在firebase中而不使用其数据。解决方案是使用push()为每个数据组或数据创建唯一的id,以便新导入的数据不会妨碍以前的数据。 有两种方法可以在Firebase的JavaScript SDK中调用push。
使用push(newObject)。这将生成一个新的推送ID并在具有该ID的位置写入数据。 使用push()。这将生成一个新的推送ID并返回对具有该ID的位置的引用。这是一个纯粹的客户端操作。 知道了#2,您可以轻松地获得一个新的推送ID客户端:
var newKey = ref.push()。key(); 然后,您可以在多位置更新中使用此密钥。