2016-07-18 7 views
8

私はこのようなデータベースを持っています(写真添付): 旅行にはBIDSawardedBidがあります。私はawardedBid!=nullを、入札可能な旅程を決定する方法として使用します。しかし、私はその状態を照会する方法を知らないので、私は2を使用しなければならないとき、私はそれが危険だと感じしかし、私はこのFirebase、条件として「子が存在する」という質問はありますか?

mRootReference.child(CHILD_TRIPS).child(mTripKey).orderByChild(BID_DONE).equalTo(true) 

のようなので、私は.equalToを使用することができます別のフィールドbidDoneを作成することにより、ハックする必要がキーはバグが発生しやすいので1つのことを示しています(添付のスクリーンショットで自分自身を作成し​​ました。の場合はbidDone = false)。

このタスクには、よりクリーンな方法がありますか?文字列が存在するという条件のクエリですか?

enter image description here

おかげ

答えて

14

あなたの属性bidDoneを削除し、すべての子がnull awardedBidを持たない得るためにstartAt()を使用することができます

ref.orderByChild("awardedBid").startAt("") 

またはこの入札なしで唯一の子を取得するために

ref.orderByChild("awardedBid").endAt(null) 
+0

h私は2つの条件の間で切り替えることができるように、他の方法ラウンド( 'awardedBid == null')については、 –

+1

@DevidFrinelliありがとう –

関連する問題