setValue()和updateChildren()之间的区别?

时间:2017-06-22 21:30:53

标签: firebase firebase-realtime-database

我已经研究过setValue()和updateChildren()。我测试了它们以添加和更新firebase数据库中的数据。据我所知,他们两人都做了同样的事情并对他们进行了一些研究。

据我所知。 setValue()与类对象一起使用,而updateChildren()与Map或HashMap一起使用。如果我错了,请纠正我。

我的问题如上所述,setValue()和updateChildren()有什么区别?

2 个答案:

答案 0 :(得分:5)

'setValue'方法完全用新数据替换文档(指定引用)。

'updateChildren'方法只是更新特定字段或添加此类字段(如果它们之前不存在)。

您经常可以使用这些方法获得相同的结果,但实际上它们是不同的。

答案 1 :(得分:0)

使用一个示例,其中您的用户具有以下字段:姓名,生日,最喜欢的颜色。

设置值要求您在同一父节点下设置所有字段,否则它们将被覆盖而没有任何值并被删除。 但是,使用updateChildValue可以指定要更新的字段,而无需更改其他字段。并且,如果该字段尚不存在,它将创建一个新字段。如果您只想在用户下方添加新字段(例如染发),则此功能特别有用。