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

Posted

技术标签:

【中文标题】将对象推送到 Firebase 的智能方法【英文标题】:Smart way to push object to firebase 【发布时间】:2017-01-13 05:38:38 【问题描述】:

我有一个要推送到 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

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

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

【问题讨论】:

你可以通过userProfile吗? (例如return firebase.database().ref('/userProfile').push(userProfile) 不确定我是否理解你,但如果你不想要额外的userProfile 级别:firebase.database().ref('/userProfile').push(userProfile) 啊,你们拯救了我的一天。是的,这行得通,非常感谢。 【参考方案1】:

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

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

谢谢大家

【讨论】:

以上是关于将对象推送到 Firebase 的智能方法的主要内容,如果未能解决你的问题,请参考以下文章

实时数据库未将数据推送到 Firebase

将 Firebase 存储下载 URL 推送到 Firebase 云 Firestore

使用子参考值将数据推送到 Firebase

将 Firebase 值推送到下拉菜单

使用 AFNetworking 将 Firebase 通知从 ios 设备推送到花药

Vuejs + Firebase Storage 将多个图像上传到 Firebase Storage 并将所有 downloadURL 推送到 Firestore