javascript - फायरस्टार क्वेरी में लागू करना या फायर करना-फायरबेस फायरस्टार




firebase google-cloud-firestore (2)

Cloud Firestore में कोई "OR" क्वेरी नहीं है। यदि आप इसे एक ही क्वेरी में प्राप्त करना चाहते हैं, तो आपको एक ही फ़ील्ड की आवश्यकता होगी जैसे maker_or_checker_or_approver: true

बेशक आप हमेशा तीन प्रश्न कर सकते हैं और उन्हें क्लाइंट में शामिल कर सकते हैं।

मैं फायरस्टार क्वेरी में तार्किक या ऑपरेटर को लागू करने की कोशिश कर रहा हूं।

db.collection('users').where('company_id', '==', companyId)
                          .where('role', '==', 'Maker')
                          .where('role', '==', 'Checker')
                          .where('role', '==', 'Approver')
                          .get().then(function(adminsSnapshot){


             //Some processing on dataSnapshot
})

लेकिन OR को लागू करने का यह सही तरीका नहीं है।

मैं सभी उपयोगकर्ताओं को 'निर्माता, चेकर या अनुमोदन' की भूमिकाओं के साथ चाहता हूं।

मैं कैसे या फायरस्टार क्वेरी में लागू होगा? डॉक में कुछ भी नहीं है।


आप rxjs का उपयोग करके वेधशालाओं को जोड़ सकते हैं, नीचे कोणीय (6) उदाहरण देख सकते हैं;

orQuery(){

    const $one = this.afs.collection("users", ref => ref.where("company_id","==","companyId")).valueChanges();
    const $two = this.afs.collection("users", ref => ref.where("role","==","Maker")).valueChanges();

    return combineLatest($one,$two).pipe(
        map(([one, two]) => [...one, ...two])
    )
}

getOr(){
    this.orQuery().subscribe(data => console.log(data))
}




google-cloud-firestore