2015-03-06 10 views
6

द्वारा आदेश से मैं "प्रविष्टि" का एक बहुत इस तरह के रूप में संरचित के साथ एक डेटाबेस है:क्वेरी कुंजी और तारीख

Listings

मैं 10 लिस्टिंग, शुरू करने या एक निश्चित प्राथमिकता मान पर समाप्त प्राप्त करना चाहते हैं, एक आकार मूल्य (बाल नोड) के साथ 9 और 10.5 के बीच सीमा है और परिणाम प्राथमिकता द्वारा आदेश दिया गया है।

मैंने एसओ पोस्ट और फायरबेस उदाहरणों की एक बहुतायत को देखा है, लेकिन मुझे कोई समाधान नहीं मिल रहा है।

क्या वास्तव में यह मामला हो सकता है कि फ़ायरबेस में यह संभव नहीं है? जहां तक ​​मुझे पता है, यह काफी आम उपयोग है।

क्या इसका कोई समाधान है? यदि नहीं, तो आप इसके आसपास कैसे पहुंचेंगे?

+0

कृपया प्रारंभिक बिंदु के रूप में नमूना कोड साझा करें। फायरबेस से हर कोई परिचित नहीं है। इसके अलावा, यह टैग क्यों किया गया है [ios]? –

+0

आप वर्तमान में प्रत्येक क्वेरी में एक बार 'ऑर्डरबी' कॉल कर सकते हैं। तो एकमात्र कामकाज उन गुणों को गठबंधन करना होगा जिन्हें आप एक ही संपत्ति और ऑर्डर/फ़िल्टर में उपयोग करने के लिए देख रहे हैं। –

+2

यह भी देखें http://stackoverflow.com/questions/27432030/ –

उत्तर

5

आप फायरबेस दस्तावेज़ में Complex Queries की समीक्षा करना चाह सकते हैं।

रेंज क्वेरी पर एक नज़र डालें। startAt() और endAt() आपको अपने प्रश्नों के लिए प्रारंभ और समापन बिंदु सेट करके विशिष्ट आकार वाले जूते ढूंढने की अनुमति देता है।

उदाहरण के लिए

, अगर हम सभी जूते कि 9 और 10.5 के बीच हैं लगता है, गठबंधन orderByChild(), startAt, और endAt चाहता था। कुछ ऐसा:

var ref = new Firebase(URL); 
ref.orderByChild("size").startAt("9").endAt("10.5").on("child_added", function(snapshot) { 
    console.log(snapshot.key()); 
}); 

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

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