我目前遇到与本文所述完全相同的问题:
目前,Firebase单节点.update()
功能不会覆盖其他相同级别的子节点。
但是,当使用多位置ref.update()
时,同一级别的所有其他子节点都会被覆盖,基本上充当.set()
函数。
有没有我可以实际运行多位置.update()
而不覆盖所有相同级别的子节点?
答案 0 :(得分:2)
基于此github问题:https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/313
一种可能的解决方法是将每个要更新的字段定义为单独更新,并将其更新为原子更新的一部分,这样您实际上会更新需要更新的每个字段吗?
var companiesPath = 'companies/company_name';
var usersPath = 'users/user_nickname';
var data = {};
data[companiesPath] = 'Best Company Name';
data[usersPath] = 'John';
firebase.update(data);
因此,您无法更新整个对象,您需要定位该对象的各个字段。我只是测试了它,这很有效......