2011-04-19 7 views
5

मैं दस्तावेज़ उन्मुख डेटाबेस के लिए नया हूँ। मेरा सवाल यह है कि हर बार जब मेरा ऐप शुरू होता है तो मुझे मोंगो डीबी में एक मॉडल क्यों घोषित करना पड़ता है? उदाहरण के लिए:मोंगोडीबी, मोंगोस और नोड.जे.एस. मॉडल क्यों घोषित करें?

mongoose.model('User', { 
    collection: 'user', 
    properties: [ 
    'created', 
    'username', 
    'password', 
    'email' 
    ]} //Edited: '}' was missing in original post 
); 

मैं सभी टेबलों को एक साथ बनाना चाहता हूं और मेरे ऐप में केवल डेटा के लिए फ़ीड या क्वेरी करना चाहता हूं। मैंने सोचा कि सभी डेटा आर्किटेक्चर को सीएलआई या एक विशेष व्यवस्थापक के माध्यम से सेट किया जाना चाहिए (चलो MySQL के लिए PhpMyAdmin कहें)।

यह पता चला है कि प्रत्येक बार जब मैं डेटा मॉडल घोषित करता हूं तो मेरे आवेदन की शुरुआत में। मुझे समझ में नहीं आता है। सहायता :)

उत्तर

8

आपको एक मॉडल घोषित करने की आवश्यकता है क्योंकि अनिवार्य रूप से मोंगोडीबी केवल संग्रह संग्रहित करता है और वास्तव में स्कीमा/मॉडल से बंधे नहीं है। मोंगोस एक मॉडल को परिभाषित करने के लिए एक तरीका प्रदान करता है लेकिन ऐसे ड्राइवर हैं जो वास्तव में एक प्रदान नहीं करते हैं (रूबी के लिए कैंडी देखें)। दस्तावेज़-उन्मुख डेटाबेस रखने का यह पूरा बिंदु है। आप वास्तव में एक स्कीमा से बंधे नहीं हैं और आवश्यकता के अनुसार, फ्लाई पर अपने डेटाबेस की डेटा संरचना में परिवर्तन करता है।

+0

बिल्कुल @neebz कहता है। मुझे लगता है कि दस्तावेज़-उन्मुख डेटाबेस के बारे में याद रखने की महत्वपूर्ण बात यह है कि यह एक "ऑब्जेक्ट" स्टोर की तरह है। आप मनमानी वस्तुओं को बना सकते हैं और उन्हें "संग्रह" में सहेजा जा सकता है। जिसका अर्थ है कि पहले से परिभाषित कोई कॉलम नहीं है (SQL समझ में)। – shaond