2016-11-11 11 views
5

के साथ फायरबेस को क्वेरी करना मैं उन सभी प्रविष्टियों को प्राप्त करने का प्रयास कर रहा हूं जहां createdAtToday के बराबर है, लेकिन यह कुछ भी नहीं देता है।स्विफ्ट 3.0

मैं यहाँ क्या गलत कर रहा हूं? और, डेटा को क्वेरी करने का सही तरीका क्या है जिस तरह से मैं करने की कोशिश कर रहा हूं?

JSON:

{ 
     "thoughts" : { 
     "-KWGdcdZD8QJSLx6rSy8" : { 
      "createdAt" : "Tomorrow", 
      "thought" : "meno", 
      "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2" 
     }, 
     "-KWGeGivZl0dH7Ca4kN3" : { 
      "createdAt" : "Today", 
      "thought" : "meno", 
      "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2" 
     }, 
     "-KWGeIvWHBga0VQazmEH" : { 
      "createdAt" : "Yesterday", 
      "thought" : "meno", 
      "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2" 
     } 
     } 
    } 

स्विफ्ट:

let db = FIRDatabase.database().reference().child("thoughts") 
    let ref = db.queryEqual(toValue: "Today", childKey: "createdAt") 

    ref.observe(.value, with:{ (snapshot: FIRDataSnapshot) in 
     for snap in snapshot.children { 
      print((snap as! FIRDataSnapshot).key) 
     } 
    }) 

उत्तर

8

आप createdAt को queryOrderedByChild का उपयोग करें और equalTo Today

let ref = FIRDatabase.database().reference().child("thoughts").queryOrdered(byChild: "createdAt").queryEqual(toValue : "Today") 

ref.observe(.value, with:{ (snapshot: FIRDataSnapshot) in 
    for snap in snapshot.children { 
     print((snap as! FIRDataSnapshot).key) 
    } 
}) 
+0

और ने इस समस्या हो रही किसी के लिए भी इस लाइन को अद्यतन करने का उपयोग की तुलना में की जरूरत है: 'ref = db.queryOrdered (byChild: "बनाया गया")। queryEqual (toValu ई: "आज") ' –

+0

@ कोल्बीगेट्टे मैंने अभी रिफ्रेंस लाइन संपादित की है ... क्या आप इसे एक बार और अधिक –

+0

हाय @ EICaptainv2.0 का परीक्षण कर सकते हैं, मैंने आपका जवाब लागू किया लेकिन मुझे सभी बच्चे नोड्स मिल रहे हैं। मैं .value के बजाय .childAdded का उपयोग कर रहा हूं, और मुझे सभी बच्चे के मूल्य मिलते हैं, न केवल क्वेरी से मेल खाते हैं (मैं एक इंट टाइमस्टैम्प द्वारा ऑर्डर कर रहा हूं, और क्वेरी स्टार्टिंग का उपयोग कर रहा हूं (:) :)। किसी भी प्रकाश के लिए अग्रिम धन्यवाद आप शेड कर सकते हैं – Septronic

संबंधित मुद्दे