2016-03-21 67 views
1

因此,我正在開發一個小型Web應用程序,並且我正在使用Firebase作爲後端。這是一個小的聊天應用程序,我想一個人的信息存儲在以下形式:將數據作爲JSON對象存儲在Firebase中

{ "John" : {0: "hello",1:"how are you?".2:"what are you doing?" }} 

我在一個叫MY_NAME變量存儲人的名字。我的Firebase參考被稱爲ref。說我設置MY_NAME爲,

var my_name = "John"; 

,然後做

ref.set({my_name : {0:"Hello"}}); 

它存儲的數據作爲

{my_name : {0:"Hello"}} 

,而不是

{"John" : {0:"Hello"}} 

我怎樣才能將其存放它使用my_var的賦值?

+0

爲什麼聊天數據保存爲數組?這可能會在稍後導致問題。當存儲像這樣的聊天數據時,更好的選擇可能是push()生成節點名稱並將消息存儲爲每個節點中的key:value對。這樣做將使您能夠存儲消息的來源和時間戳,執行查詢和其他詳細信息。此外,您在示例(.2)中有一段時間,而不是逗號。 – Jay

回答

3

嘗試把括號的屬性名稱,像這樣:

var my_name = 'John'; 

ref.set({ 
    [my_name]: { 0: "Hello" } 
}); 
+0

每天學點新東西:) –

2

創建一個JS對象這樣

var obj = {}; 
obj[my_name] = "{ 0: "Hello" }"; 

然後保存這火力

ref.set(obj); 
0

檢查{}在集合中。

var car = {type:"Fiat", model:"500", color:"white"}; 

     function writeData() { 
      firebase.database().ref('cars/'+ dateToInsert).set(
       car 
      ); 

從而節省:
類型: 「菲亞特」
模式: 「500」
顏色: 「白色」

 function writeData() { 
      firebase.database().ref('cars/'+ dateToInsert).set({ 
       car 
      }); 

從而節省:

車:
- 型號:「菲亞特」
- 型號:「500」
- 顏色:「白色」

相關問題