2013-07-18 5 views
9

मेरी समस्या यह है कि मोंगोज़ (मोंगोड) के साथ कई मैपिंग में से एक है। एक ऑर्डर (खरीदार डेटा) है और कई आइटम (मूल्य, मात्रा, आदि) हैं।मोंगोज़ में कई मैपिंग के लिए, कैसे प्राप्त करें और संसाधित करें?

1) मुझे ऑर्डर और आइटम्स के लिए स्कीमा कैसे बनाना चाहिए, जैसे कि मुझे ऑर्डर में आइटम को सरणी में रखना चाहिए?

2) क्या सभी डेटा एक पोस्ट फ़ंक्शन में होंगे?

मैं झुंड आप ऑब्जेक्टआईडी का उपयोग कई लोगों को जोड़ने के लिए कर सकते हैं लेकिन मुझे यकीन नहीं है कि कैसे करें।

उत्तर

14

एक आदेश लगता है जैसे कि यह आइटम के एक रिश्तेदार छोटी संख्या होगा के बाद से, सरल बात शायद सिर्फ आइटम आईडी की एक सूची होगा:

var OrderSchema = new mongoose.Schema({ 
    items: [{type: mongoose.Schema.Types.ObjectId, ref: 'Item'}] 
}); 

var ItemSchema = new mongoose.Schema({ 
    price: Number, 
    quantity: Number 
}); 

अधिकांश UI के एक एकल में एक पूरी आदेश का निर्माण नहीं होता POST फ़ंक्शन, इसलिए ऑर्डर बनाने की अनुमति देने के लिए शायद सबसे अच्छा है और फिर order.items.push(itemId) के माध्यम से आइटम को अलग-अलग जोड़ना।

+0

तो मैं ऑर्डर और आइटम दोनों के लिए "app.post ('/ uri', api.function)" जैसे कुछ करता हूं, फिर एपीआई (नियंत्रक) में फ़ंक्शन में कॉलबैक होता है जो आइटम को पुश करने के लिए बनाता है ऑर्डर करने के लिए आइटम? – Mike

+0

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

+0

क्या यह ItemSchema को ऑर्डरशेमा के समान फ़ाइल में होने की आवश्यकता है? मैं सोच रहा हूं कि अगर रेफ फील्ड को हल किया जाएगा भले ही आइटमस्केमा को किसी अन्य फ़ाइल में परिभाषित किया गया हो। –

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