2017-11-13 7 views
1

値が何か等しいfirebaseからswift3でデータを取得するにはどうすればよいですか?iOS Firebaseは値が何かに等しいデータを取得します

"SELECT * FROM users WHERE type = 'brown'";の場合、whereをFirebaseに書き込むにはどうすればよいですか?

私はこのDB

enter image description here

を持っていると私は、私の知る限り承知しているとして、それmonth == currentMonth(私はcurrentMonth変数を持っている)

答えて

0

からすべてのデータを取得したいですfirebase realtimeデータベースは、このようなクエリをサポートしていません。代わりに、全体のref 'budget'を呼び出してから、アプリ内でローカルにフィルタリングする必要があります。

FireStoreはベータ版ではあるが、明らかにクエリサポートが優れています。このような

1

することはできQuery

let ref = Database.database().reference() 
ref.child("Budget") 
    .queryOrdered(byChild: "Month") 
    .queryEqual(toValue: "November") 
    .observe(.value, with: { (snapshot: DataSnapshot) in 

     var array:[Budget] = [] 

     for budgetChild in snapshot.children { 
      let budgetSnapshot = budgetChild as! DataSnapshot 
      let budgetDictionary = budgetSnapshot.value as! [String:String] 

      let budget: Budget = Budget() 
      budget.description_ = budgetDictionary["Description"] 
      budget.month = budgetDictionary["Month"] 
      budget.type = budgetDictionary["Type"] 
      budget.value = budgetDictionary["Value"] 

      array.append(budget) 
     } 
    }) 
関連する問題