2017-10-08 114 views
0

我使用Firebase中的.once(函數,併成功檢索目錄的snapshot.key名稱。但這個關鍵也有價值。 當請求snapshot.val()時也會給出null,它會讓它有一個值。Firebase檢索快照值爲空

數據庫看起來是這樣的:

stages { 
    stage1AVERYLONGHASH : "values i want to get" 
    stage2AVERYLONGHASH : "values i want to get" 
    } 

我的代碼

var ref = "stage1AVERYLONGHASH"; 
    var branch = firebase.database().ref(ref).once('value').then(function(s){ 
    console.log(s.key); // GIVES THE CORRECT ANSWER 
    console.log(s.val()); //GIVES null ... doesn't give me the "values i want.." 

我在做這完全錯了嗎? 我是Firebase的新用戶。 請知道數據庫是有意這樣構造的。 我限制「階段」的讀取權限。 該遊戲的工作原理就是從數據庫請求一個散列作爲參考,以獲得內容。

+0

你確定你的ref是正確的嗎?按照你顯示的結構,我認爲裁判應該是「/ stages/stage1」 – davidchoo12

+0

我不希望任何人通過階段查詢,因爲他們必須隱藏在數據庫中。這個可以嗎? – Firebas3r

+0

我對/ stages/ – Firebas3r

回答

0

我想你想獲得階段的參考,然後從他像得到階段1參考:

.REF(「舞臺」)子(「階段1」)

我不知道實際的語法,但我知道這是我如何讓我的firebase數據在android工作室

+0

謝謝,是的,數據庫是奇怪的結構,因爲我需要保護「舞臺」的整個孩子,我不希望任何人不知道孩子的鑰匙讀取它們。 – Firebas3r

+0

您不應該將兒童名稱作爲安全措施,您應該使用Firebase身份驗證系統 –

+0

孩子的名字是非常長的哈希,我希望人們能夠在未經身份驗證的情況下播放它。 – Firebas3r