2017-03-23 27 views
0

同時將數據寫入完全獨立的位置在我的firebase應用程序中,當新用戶註冊時,我將其初始數據(如displayname,emai,photourl)添加到頂級users節點下的數據庫。這工作正常。使用更新()

現在,當用戶發佈狀態時,我想將帖子上傳到保存所有用戶狀態的頂級節點statuses。同時我想將帖子上傳到當前用戶的帖子節點,即users/currentuser/posts

我下面的官方火力網站上顯示的方法here.

問題是,當我擊中門柱按鈕,沒有任何反應,並沒有數據被髮布到數據庫

我的函數被調用時後按鈕被點擊:

function postStatus(){ 
    var ref = firebase.database().ref("allstatuses"); 
    var user = firebase.auth().currentUser; 

    var newStatusRef = ref.push(); 
    var newStatusKey = newStatusRef.key(); 

    var statusData = { 
     status: postInput.val(), 
     likes: 0, 
     dislikes: 0 
    }; 
    var updateUserStatus = {}; 
    updateUserStatus["users/" + user.uid + "/" + newStatusKey] = statusData; 
    updateUserStatus["allstatuses/" + newStatusKey] = statusData; 

    if(user){ 
     firebase.database().ref().update(updateUserStatus); 
    }else{ 
     alert("please login"); 
    } 

} 

我在做什麼錯?

+0

如果你調用'firebase.database() .ref(「allstatuses」)。child(ref.push().key).set(true)'是否寫入數據庫成功? –

+0

@FrankvanPuffelen你的意思是我應該這麼稱呼? –

+0

@FrankvanPuffelen yippeee ,,,我解決了這個問題,,我張貼了答案,,反正謝謝你幫助 –

回答

1

根據API參考link這是關鍵不是鍵()

更改此

var newStatusKey = newStatusRef.key(); 

var newStatusKey = newStatusRef.key;