将对象推送到firebase的智能方法

时间:2016-09-05 20:49:12

标签: javascript angular typescript firebase firebase-realtime-database

我有一个对象,我想推送到firebase实时数据库,看起来像这样:

userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes}

如果我想在firebase中使用它,我可以这样写:

return firebase.database().ref('/userProfile').push({
    name: userProfile.name,
    age: userProfile.age,
    gender: userProfile.gender,
    ....
}).

但是由于我有很多具有许多属性的对象,我宁愿不用手写它。 push()中不允许循环。我可以像这样推动整个对象:

return firebase.database().ref('/userProfile').push({
    userProfile: userProfile
}).

但它会创建一个额外的子节点,如

ref/userProfile/123someId/userProfile/name

这是不好的做法,因为它不允许使用过滤器等等。

是否有更有效的方法来推送整个对象的属性而不记下每个键/值对?

1 个答案:

答案 0 :(得分:4)

答案可能不容易,但万一其他人偶然遇到同一问题:

firebase.database().ref('/userProfile').push(userProfile)

谢谢你们