2014-11-25 8 views
5

के साथ फायरबेस से उपयोगकर्ता ईमेल प्राप्त करें मैं अपने ऐप में ईमेल द्वारा खोज को कार्यान्वित करना चाहता हूं लेकिन क्वेरी के डिज़ाइन के साथ थोड़े से अटक गया हूं। मेरी डेटा संरचना इसक्वेरी

users { 
     uid { 
      email: [email protected] 

तरह लग रहा है मैं निम्न क्वेरी की कोशिश की:

console.log(reqestEmail); // proper email here 
new Firebase(USERS) 
    .startAt(reqestEmail) 
    .endAt(reqestEmail) 
    .once('value', function(snap){ 
    var foundUser = snap.val(); 

    console.log(foundUser) // output is null 
    }); 

मुझे लगता है कि समस्या तथ्य यह है मैं रास्ते में एक uid है में है। लेकिन इस डेटा संरचना के साथ खोज को कैसे कार्यान्वित किया जाए - यदि मैं यह यूआईडी आवश्यक परिणाम है?

यदि यह Firebase 2.0.2 और AngularFire 0.9

क्षमा करें लोग उपयोग करते हुए महत्वपूर्ण है: noob यहाँ। खाते के निलंबन के खतरे में भी।

+0

आप पहली जरूरत 'फोन orderByChild' और उसके बाद' करने के लिए startAt' और 'endAt'। Https://www.firebase.com/docs/web/api/query/orderbychild.html –

+0

देखें लेकिन मेरा यूआईडी अज्ञात होने पर मुझे क्या तर्क देना चाहिए (यह वह है जिसे मैं खोजता हूं)? क्या मैं इसे इस डेटा संरचना के साथ सही कर रहा हूं? – walkthroughthecode

उत्तर

7

आप ईमेल पते द्वारा पहले के आदेश करने के लिए है, ताकि आप फिर उस पर फ़िल्टर कर सकते हैं:

console.log(reqestEmail); // proper email here 
new Firebase(USERS) 
    .orderByChild('email') 
    .startAt(reqestEmail) 
    .endAt(reqestEmail) 
    .once('value', function(snap){ 
    var foundUser = snap.val(); 
    console.log(foundUser) // output is correct now 
    }); 

इस jsbin में काम करते हुए नमूना: http://jsbin.com/fenavu/2/edit?js,console

+1

आपको बहुत बहुत धन्यवाद, यह सही है। यदि आप मुझसे पूछें तो दस्तावेज़ों से बिल्कुल स्पष्ट नहीं है। – walkthroughthecode

+2

यदि आप कहते हैं कि आपने कौन सी प्रलेखन पढ़ी है और यह पृष्ठ कैसे सुधार किया जा सकता है तो यह अधिक रचनात्मक होगा ताकि यह स्पष्ट हो सके कि इसे कैसे पूरा किया जाए। –

+1

मुझे खेद है। अगर फ़ायरबेस के किसी ने इसे पढ़ा है, तो आईएमओ आपकी साइट पर इस ब्लॉग पोस्ट को भ्रमित कर रहा है। https://www.firebase.com/blog/2013-10-01-queries-part-one.html विशेष रूप से भाग «ईमेल पते द्वारा उपयोगकर्ता खोजें (जहां ईमेल = x)»। ऑर्डर को कॉल करने के लिए मुझे जिस चीज की आवश्यकता है वह बच्चा नहीं है। अज्ञात कुंजी के साथ मेरी तरह की स्थिति का उल्लेख करना अच्छा होगा। – walkthroughthecode

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