2014-11-01 11 views
5

मैं नोट्स की एक सरणी संग्रहीत करना चाहता हूं, जहां प्रत्येक नोट में शीर्षक और शरीर होता है। क्या शरीर के बिना नोट शीर्षकों की सूची पुनर्प्राप्त करना संभव है?संग्रह से केवल विशिष्ट कुंजी पुनर्प्राप्त करें

उदाहरण के लिए:

notes: [ ewi4ef36wi: { title: 'Shopping List', body: 'todo' } o9kng23inw: { title: 'Things To Do', body: '' } ]

कैसे मैं सिर्फ खिताब की सूची प्राप्त कर सकता है?

उत्तर

3

नहीं। फायरबेस का वेब/जावास्क्रिप्ट एपीआई हमेशा आपके द्वारा अनुरोध किए गए नोड्स के नीचे पूरा पेड़ देता है।

इसके लिए सबसे आम कामकाज यह है कि लोग पेड़ में एक द्वितीयक शाखा स्थापित करते हैं जहां वे केवल चाबियाँ रखते हैं।

Notes 
    1: { "body": "hello", "title": "yessir" } 
    2: { "body": "again", "title": "title2" } 
    3: { "body": "there", "title": "another" } 
Notes_index 
    1: true 
    2: true 
    3: true 

इसे आमतौर पर एक सूचकांक के रूप में जाना जाता है। Notes_index पर on('child_added' और फिर (यदि आवश्यक हो) once('value' का उपयोग करके प्रत्येक नोट की सामग्री प्राप्त करें।

इंडेक्स का उपयोग अक्सर वैकल्पिक कुंजी द्वारा नोड्स को सुलभ बनाने के लिए भी किया जाता है। इस तरह से ऊपर के लिए एक शीर्षक सूचकांक के रूप में:

Title_index 
    "another": 3 
    "title2": 2 
    "yessir": 1 

यह पिछले संरचना जल्द ही, अब और नहीं की आवश्यकता हो सकती है क्योंकि Firebase उनके क्वेरी एपीआई प्रदान कर रहा है आदेश/किसी भी क्षेत्र के आधार पर फ़िल्टर अनुमति देने के लिए। लेकिन आपके उपयोग के मामले में एक सूचकांक अभी भी उपयोगी है।

+1

ग्रेट उत्तर, फ्रैंक! एक संशोधन: आप [उथले = सत्य] का उपयोग कर सभी डेटा लाने के बिना कुंजी की एक सूची पुनर्प्राप्त कर सकते हैं (https://www.firebase.com/docs/rest/guide/retrieving-data.html#section-rest-uri- पैरा) आरईएसटी एपीआई के माध्यम से। इसमें लाखों नोड्स के आसपास कुछ सीमाएं हैं, लेकिन यह एक विकल्प हो सकता है। – Kato

+0

कूल। मुझे यह नहीं पता था। यह अच्छा होगा अगर वेब/जावास्क्रिप्ट एपीआई की एक समान सुविधा थी। फिर फिर से: मुझे वर्तमान वेब एपीआई की सादगी पसंद है। सुविधाओं की सही संख्या। –

0

बिल्कुल, जब आप नोट के लिए शीर्षक या बॉडी मान सेट करते हैं तो set a priority सुनिश्चित करें। आप bind to the notes endpoint (receive events and data) limited to keys matching a specified priority कर सकते हैं।

+0

इससे आपको कम नोड्स पुनर्प्राप्त करने की अनुमति मिलेगी, लेकिन नोड के कम स्तर नहीं। मुझे नहीं पता था कि वहां 'बराबर' बीटीडब्लू था, जो एक ही मूल्य के साथ शुरू करने और समाप्त होने की मेरी सामान्य चाल से अधिक कुशल लगता है: 'startAt (' value ')। EndAt (' value ') ' –

+0

मुझे होना चाहिए था मेरे प्रश्न के साथ अधिक विशिष्ट :) मैं क्या चाहता था कम नोड्स (उदाहरण के लिए शीर्षक शीर्षक)। मैं दोनों उत्तरों को छोड़ दूंगा क्योंकि वे दोनों मूल्यवान जानकारी प्रदान करते हैं। प्रतिक्रिया के लिए धन्यवाद :) – Nippysaurus

+0

क्या आप कोड साझा कर सकते हैं जो आपको प्रश्न में डेटा संरचना से केवल शीर्षक प्राप्त करने की अनुमति देगा? –

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