मैं नीचे दिए गए कोड में उपयोगकर्ता खोज कर रहा हूं। वापसी मूल्य उपयोगकर्ता जानकारी और उपयोगकर्ता सेटिंग है। मैं सिर्फ उपयोगकर्ता की जानकारी प्राप्त करना चाहता हूं। क्या यह संभव है?

डेटाबेस मॉडल:

  • उपयोगकर्ताओं
    • उपयोगकर्ता आईडी <उल>
    • जानकारी

      -नाम

      -ऑनलाइन

    • सेटिंग

      <उल>
    • ओपनिड
    • ईमेल

मेरा कोड:

let ref = Database.database().reference().child("users").queryOrdered(byChild:"info/name").queryStarting(atValue: text , childKey:"name").queryEnding(atValue: text + "\u{f8ff}" , childKey: "name").queryLimited(toFirst: sonucSayısı)

ref.observeSingleEvent(of: .value, with: { (snapshot) in
    if value == text{
        print(snapshot)
    }
}) { (err) in
    print(err)
}
0
ursan526 11 जिंदा 2021, 22:47

1 उत्तर

सबसे बढ़िया उत्तर

एकमात्र फ़िल्टरिंग तंत्र क्वेरी है, लेकिन यह आपको सीधे users के अंतर्गत नोड्स का एक सबसेट देगा।

प्रत्येक नोड का सबसेट प्राप्त करने का कोई तरीका नहीं है। यदि आपके उपयोग-मामले के लिए यह आवश्यक है, तो अपने डेटा को दो शीर्ष-स्तरीय नोड्स (/userinfos और /usersettings) में विभाजित करने पर विचार करें, दोनों यूआईडी का उपयोग कुंजी के रूप में करते हैं, और फिर इसे एक नोड से लोड करते हैं। वह है (या दोनों नोड्स जो हैं) उपयोग-मामले के लिए प्रासंगिक हैं।

और देखें:

0
Frank van Puffelen 12 जिंदा 2021, 01:28