2016-09-05 30 views
1

我有我要推到火力實時數據庫中的對象,看起來像這樣:聰明的辦法來推動對象,以火力

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, 
    .... 
}). 

但是由於我有很多具有很多屬性的對象,所以我不想用手寫它。 push()中不允許循環。我可能會推動整個對象是這樣的:

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

但它會創建一個額外的子節點像

ref/userProfile/123someId/userProfile/name 

這是不好的做法,因爲它不允許使用過濾器和多等一會。

是否有更有效的方法來推送整個對象的屬性而不寫下每個鍵/值對?

+1

你能不能傳遞'userProfile'? (例如'return firebase.database()。ref('/ userProfile')。push(userProfile)') –

+0

不知道我是否理解你,但如果你不想額外的'userProfile'級別:'firebase.database ().ref('/ userProfile')。push(userProfile)' –

+0

啊,你們剛剛救了我一天。是的,這很有用,非常感謝。 – Chris

回答

2

答案再簡單不過了,但在同樣的問題的情況下別人絆倒:

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

謝謝你們

相關問題