2017-07-13 79 views
0

我想在其ID上更新基於Firebase的帖子。 所以我有地方存放這樣無法通過推送ID引用Firebase數據

var postID = -xyz1234567; 
firebase.database().ref('posts').child(postID).update({ 
    blah: "blah", 
    foo: 'bar' 
}) 

一個變量,但我不斷收到此錯誤,說;

Error: Firebase.child failed: First argument was an invalid path: "undefined". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"

+1

凡'postID'關於你的實際代碼的更新?看起來像'postID'不在同一個範圍內。 – Bert

+0

這看起來像一個語法錯誤'var postID = -xyz1234567;'而不是組成您認爲'postID'的示例代碼,發佈[最小的實際編譯代碼,再現問題](http://stackoverflow.com /幫助/ MCVE)。 –

回答

1

嘗試下面的代碼:

var postID = "-xyz1234567"; 
firebase.database().ref('posts').child(postID).update({ 
    blah: "blah", 
    foo: 'bar' 
}) 

或其總是好做以下

var post = {}; 
post["-xyz1234567"] = { 
    blah: "blah", 
    foo: 'bar' 
}; 
firebase.database().ref('posts').update(post) 
+1

第二個選項的作品! – Jalasem

+1

非常感謝@jagraj Singh – Jalasem

+0

任一選項都會在帖子不存在時添加帖子。不同之處在於第二個選項會使未指定的帖子屬性保持原樣,如果* *已經存在。 –

相關問題