Javascript 将对象推送到firebase的智能方法
我想将一个对象推送到firebase实时数据库,如下所示:Javascript 将对象推送到firebase的智能方法,javascript,angular,typescript,firebase,firebase-realtime-database,Javascript,Angular,Typescript,Firebase,Firebase Realtime Database,我想将一个对象推送到firebase实时数据库,如下所示: userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes} return firebase.database().ref('/userProfile').push({ name: userProfile.name, age: userProfile.age, gender: userProfile.gender
userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes}
return firebase.database().ref('/userProfile').push({
name: userProfile.name,
age: userProfile.age,
gender: userProfile.gender,
....
}).
return firebase.database().ref('/userProfile').push({
userProfile: userProfile
}).
如果我想在firebase中使用它,我可以这样写:
userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes}
return firebase.database().ref('/userProfile').push({
name: userProfile.name,
age: userProfile.age,
gender: userProfile.gender,
....
}).
return firebase.database().ref('/userProfile').push({
userProfile: userProfile
}).
但是,由于我有很多具有许多属性的对象,所以我不希望用手写。推送()中不允许循环。我可以像这样推动整个物体:
userProfile = { name: "Jon", age: 25, gender: "male", ...plenty more attributes}
return firebase.database().ref('/userProfile').push({
name: userProfile.name,
age: userProfile.age,
gender: userProfile.gender,
....
}).
return firebase.database().ref('/userProfile').push({
userProfile: userProfile
}).
但它将创建一个额外的子节点,如
ref/userProfile/123someId/userProfile/name
这是一种不好的做法,因为它不允许在以后使用过滤器等
有没有更有效的方法可以在不记下每个键/值对的情况下推送整个对象的属性?答案很简单,但如果其他人遇到同样的问题:
firebase.database().ref('/userProfile').push(userProfile)
谢谢大家你能把
userProfile
传过去吗?(例如,return firebase.database().ref(“/userProfile”).push(userProfile)
)不确定我是否理解你,但如果你不想额外的userProfile
级别:firebase.database().ref(“/userProfile”).push(userProfile)
啊,你们刚刚救了我一天。是的,很有效,非常感谢。