2016-02-23 34 views
0

所以我的問題很簡單,但因爲我不確定它是否可能。有沒有辦法在Firebase中處理來自查詢的數據

我只有「MyFirstName」作爲我的參考數據;我沒有鑰匙。 我不想從查詢中獲取密鑰,因爲這需要我導航到KeyValue數據。但在獲取價值之前,我需要獲取快照值。

在火力地堡,我們有這個數據

MyData{ 
    KeyValue { 
     Name : MyFirstName 
     LastName : MyLastName 


    } 

    KeyValue2 { 
     Name : MyFirstName2 
     LastName : MyLastName2 


    } 
} 

所以在火力地堡參考。這是指向MyData,我們可以做到這一點。

ref.OrderByChild("Name").equalsTo("MyFirstName"); 

現在返回將是一個查詢。是否可以從這些中調用put,push或setValue?

現在自put,push,setvalue不是Query的成員。這是不可能的。

ref.OrderByChild("Name").equalsTo("MyFirstName").put() <--- 

在基礎知識中,查詢只是一個查詢。你無法對此做任何事情。我只想知道這是否可能。

回答

0

沒有。你必須查看結果和更新他們每個人的客戶端:

ref.orderByChild("Name").equalTo("MyFirstName").addListenerForSingleValueEvent(new ValueEventListener() { 
    public void onDataChange(DataSnapshot snapshot) { 
    for (DataSnapshot item: snapshot.getChildren()) { 
     item.child("Name").getRef().setValue("Aizen"); 
    } 
    } 
    public void onCancelled(FirebaseError firebaseError) { 
    } 
}); 

欲瞭解更多信息查詢,看retrieving data。有關編寫數據的更多信息,請參見saving data

+0

再次感謝Frank。那麼查詢只是查詢。不能希望太多。 – Aizen

+0

一般來說:如果文檔中提到了您正在嘗試執行的操作,那麼這是一個合理的假設,您必須考慮另一種方法來實現您的目標。 –

相關問題