2017-02-26 44 views
0

目前正在開發一個應用程序,其中用戶可以檢索Firebase中的所有數據,但由於需要特定的密鑰來檢索兒童。請幫我解決一下這個。謝謝你們提前:)如何在不知道特定子女的密鑰的情況下統一從Firebase檢索數據

+0

請嘗試解釋多一點你的問題。什麼是你的數據庫的結構,你試圖訪問什麼 –

+1

歡迎使用stackoverflow。請理解,這不是一個程序員論壇。所以不應該有某種討論主題,你可以在這裏回答這個問題的更多細節。相反,當你必須添加一些信息時,你可以編輯它的問題。另請參閱幫助部分[how-to-ask](http://stackoverflow.com/help/how-to-ask) – grek40

回答

0

如果要列出您檢索你可以做到這一點的所有值:

void HandleValueChanged(object sender, ValueChangedEventArgs args) 
{ 
    if (args.DatabaseError != null) 
    { 
     Debug.LogError(args.DatabaseError.Message); 
     return; 
    } 
    var livingRoomItems = args.Snapshot.Value as Dictionary<string, object>; 
    foreach (var item in livingRoomItems) 
    { 
     Debug.Log(item.Key); // Kdq6... 
     var values = item.Value as Dictionary<string, object>; 
     foreach (var v in values) 
     { 
      Debug.Log(v.Key + ":" + v.Value); // category:livingroom, code:126 ... 
     } 
    } 
} 
+1

哇!非常感謝你的努力,我很感激。我已經自己找到了我的問題的答案,我嘗試了它,它的工作,但你的似乎更好。非常感謝你!你對我的發展有很大的幫助。上帝祝福你! – Sarah

0

大家好誰是有同樣的問題,我已經想通了答案我的問題:

void InitializeFirebase() { 


    FirebaseApp app = FirebaseApp.DefaultInstance; 
    app.SetEditorDatabaseUrl ("https://lol.firebaseio.com/"); 

    FirebaseDatabase.DefaultInstance 
     .GetReference ("Products").OrderByChild ("category").EqualTo("livingroom") 
     .ValueChanged += (object sender2, ValueChangedEventArgs e2) => { 
     if (e2.DatabaseError != null) { 
      Debug.LogError (e2.DatabaseError.Message); 
     } 


     if (e2.Snapshot != null && e2.Snapshot.ChildrenCount > 0) { 

      foreach (var childSnapshot in e2.Snapshot.Children) { 
       var name = childSnapshot.Child ("name").Value.ToString(); 

       text.text = name.ToString(); 
       Debug.Log(name.ToString()); 
       //text.text = childSnapshot.ToString(); 

      } 

     } 

    }; 
} 
相關問題