2011-12-13 7 views
38

मेरे ऐप में, डेटा के साथ जो भी मैं करता हूं वह प्राथमिक कुंजी पर आधारित होता है क्योंकि डेटा डेटाबेस में संग्रहीत होता है। मैं इस कुंजी के आधार पर संग्रह से एक मॉडल लेना चाहता हूं।मैं अपने आईडी द्वारा बैकबोन.जेएस संग्रह से मॉडल कैसे प्राप्त करूं?

Collection.at() के उपयोग से सरणी अनुक्रमणिका की आवश्यकता होती है, Collection.getByCid() को क्लाइंट आईडी की आवश्यकता होती है जो रीढ़ की हड्डी बेतरतीब ढंग से उत्पन्न होती है।

दिए गए आईडी मान के साथ संग्रह से इच्छित मॉडल को पकड़ने का सबसे अच्छा तरीका क्या है? मुझे लगता है कि मैं सबसे खराब कर सकता हूं जो प्रत्येक आइटम पर फिर से शुरू हो सकता है, .get ('id'), और उसे वापस कर दें।

+7

क्या आप जिस विधि को ढूंढ रहे हैं वह प्राप्त नहीं है? http://documentcloud.github.com/backbone/#Collection-get – nikoshr

+0

धन्यवाद! मैंने .get() पर स्किम किया क्योंकि मैं मान रहा था कि यह उनके गुण कुंजी/मूल्य स्टोर का हिस्सा था ... यदि आप सवाल का जवाब देते हैं तो मैं आपको जवाब दे सकता हूं। –

उत्तर

60

प्राप्त विधि पर एक नजर डालें, तो यह कुछ मदद :) का हो सकता है

http://backbonejs.org/#Collection-get

मिलcollection.get (आईडी)
एक संग्रह से एक मॉडल हो जाओ , एक आईडी, एक सीआईडी, या एक मॉडल में गुजरकर निर्दिष्ट।

+3

मैं आपको एक क्लिक सहेज दूंगा। पूरे दस्तावेज हैं: किसी संग्रह से मॉडल प्राप्त करें, आईडी द्वारा निर्दिष्ट, एक सीआईडी, या मॉडल में गुजरकर। var book = library.get (110); – DOK

7

अपने डेटा या कुंजी एक अलग तरह की एक सेट है कि at(), getByCid() या get() साथ अच्छी तरह से जाल नहीं है का उपयोग करने की आवश्यकता है, तो वहाँ भी where() है। ऐसा कुछ काम कर सकता है:

window.lib = new Library; 
window.lib.fetch([ 
    success: function(model, response) { 
     console.log(window.lib.where({'BookID':488, 'Rev':2, 'Status':'Active'}); 
    } 
}); 
संबंधित मुद्दे