मैं एक ही खोज में "नाम" या "मध्य_नाम" या "उपनाम" के लिए फायरबेस कैसे खोजूं?

फायरबेस डेटाबेस

enter image description here

//Firebase Search

public void searchPlaces(final String text){
       
       
    Query query = placesRef.orderByChild("name").orderByChild("middle_name").orderByChild("surname")
                   .startAt(text)
                   .endAt(text + "\uf8ff");

           query.addListenerForSingleValueEvent(new  ValueEventListener() {
               
               @Override
               public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                   for (DataSnapshot ds : dataSnapshot.getChildren()) {
                       list.add(ds.getValue(Places.class));

                   }
               }

               @Override
               public void onCancelled(@NonNull DatabaseError databaseError) {

               }
           });
           }
0
MitchSaver 11 नवम्बर 2020, 01:08

1 उत्तर

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

Firebase डेटाबेस क्वेरीज़ केवल एक ही प्रॉपर्टी पर ऑर्डर/फ़िल्टर कर सकती हैं। कई मामलों में आप जिन मानों को फ़िल्टर करना चाहते हैं उन्हें एक (सिंथेटिक) गुण में संयोजित करना संभव है। इसके और अन्य तरीकों के उदाहरण के लिए, मेरा उत्तर यहां देखें: क्वेरी आधारित कई पर जहां Firebase में क्लॉज

हालांकि, आपके मामले में, चूंकि आप एकाधिक फ़ील्ड में एक मान खोजना चाहते हैं, इसलिए आपको प्रत्येक फ़ील्ड के लिए एक अलग क्वेरी निष्पादित करने की आवश्यकता होगी।

0
Frank van Puffelen 10 नवम्बर 2020, 23:02