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

Chr*_*ris 2 javascript firebase typescript firebase-realtime-database angular

我有一个要推送到 firebase 实时数据库的对象,如下所示:

userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes}
Run Code Online (Sandbox Code Playgroud)

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

return firebase.database().ref('/userProfile').push({
    name: userProfile.name,
    age: userProfile.age,
    gender: userProfile.gender,
    ....
}).
Run Code Online (Sandbox Code Playgroud)

但是因为我有很多具有许多属性的对象,所以我不想手工编写它。push() 中不允许出现循环。我可以像这样推动整个对象:

return firebase.database().ref('/userProfile').push({
    userProfile: userProfile
}).
Run Code Online (Sandbox Code Playgroud)

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

ref/userProfile/123someId/userProfile/name
Run Code Online (Sandbox Code Playgroud)

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

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

Chr*_*ris 7

答案再简单不过了,但万一其他人偶然发现了同样的问题:

firebase.database().ref('/userProfile').push(userProfile)
Run Code Online (Sandbox Code Playgroud)

谢谢你们