我已经研究过setValue()和updateChildren()。我测试了它们以添加和更新firebase数据库中的数据。据我所知,他们两人都做了同样的事情并对他们进行了一些研究。
据我所知。 setValue()与类对象一起使用,而updateChildren()与Map或HashMap一起使用。如果我错了,请纠正我。
我的问题如上所述,setValue()和updateChildren()有什么区别?
答案 0 :(得分:5)
'setValue'方法完全用新数据替换文档(指定引用)。
'updateChildren'方法只是更新特定字段或添加此类字段(如果它们之前不存在)。
您经常可以使用这些方法获得相同的结果,但实际上它们是不同的。
答案 1 :(得分:0)
使用一个示例,其中您的用户具有以下字段:姓名,生日,最喜欢的颜色。
设置值要求您在同一父节点下设置所有字段,否则它们将被覆盖而没有任何值并被删除。 但是,使用updateChildValue可以指定要更新的字段,而无需更改其他字段。并且,如果该字段尚不存在,它将创建一个新字段。如果您只想在用户下方添加新字段(例如染发),则此功能特别有用。