2012-08-11 12 views
6

मैं, नेवला 3 और सबसे स्पष्ट रास्ता उपयोग कर रहा हूँ डेटाबेस से कनेक्ट करने के लिए हैमोंगोस कनेक्शन/मॉडल: हमेशा खुले पर चलने की आवश्यकता है?

conn = mongoose.createConnection(...) 
conn.on("open", ...) 

प्रश्न है मैं खुला कॉलबैक में मेरे सभी मॉडल को परिभाषित करने की आवश्यकता है? अगर ऐसा इसलिए है, मैं एक initMongoose.coffee कि

# initMongoose.coffee 

mongoose = require "mongoose" 
module.exports = mongoose.createConnection ... 

# modelExample.coffee 

conn = require "./initDatabase" 
conn.on "open", -> 
    ... define model? 
    modeule.exports = model # I think this does not work? 

तरह लग रहा है मुझे लगता है कि मैं नोड डॉक्स कि मॉड्यूल ऐसे ही एक कॉलबैक में परिभाषित नहीं किया जा सकता है में कहीं पढ़ा बनाना पड़ेगा?


जब से मैं केवल 1 कनेक्शन का उपयोग कर रहा हूँ, मुझे लगता है कि मैं कौन does not किसी भी कॉलबैक स्वीकार करता है तो मुझे लगता है कि तुल्यकालिक है

mongoose.connect ... 

उपयोग कर सकते हैं? क्या मैं अपने सभी मॉडलों को परिभाषित कर सकता हूं और इस प्रकार connect() के बाद सही प्रश्न पूछ सकता हूं? यह इस समय काम करता है, लेकिन ऐसा इसलिए हो सकता है क्योंकि यह काफी तेज़ है।

+0

प्रश्न पूछने के लिए धन्यवाद। मैं उदाहरण के सभी प्रकारों को कॉलबैक में नहीं डाल रहा हूं और मैं परेशान था! इसके अलावा मैं सोच रहा था कि अगर मैं इसे कॉलबैक में रखना चाहता हूं तो मैं प्रोग्राम को कैसे ढूढ़ूंगा। – huggie

उत्तर

16

मोंगोस कनेक्ट होने तक कमांड को बफर करता है, इसलिए आप इसे सिंक्रोनस की तरह व्यवहार कर सकते हैं और अपने मॉडल को परिभाषित कर सकते हैं और जब भी चाहें लाइब्रेरी का उपयोग शुरू कर सकते हैं; केवल एक बार जब आप वास्तव में डेटा डालने या पुनर्प्राप्त करना शुरू करना चाहते हैं तो आपको कनेक्शन बनाना होगा।

+0

आपका दूसरा भाग एआर के साथ विरोधाभास प्रतीत होता है। तो, मैं कनेक्ट होने के बाद मॉडल को परिभाषित कर सकता हूं लेकिन क्या मैं आवेषण के साथ ऐसा कर सकता हूं? –

+0

हां; मुद्दा यह है कि कनेक्टिंग एसिंक्रोनस है, आपको इसका इलाज करने की ज़रूरत नहीं है, क्योंकि मोंगोस यह पता लगाएगा कि यह पूरा होने के बाद तक इसे सम्मिलित करना और सम्मिलित करना समाप्त नहीं होता है। –

+0

@ मिशेल टिली स्रोत? – CodyBugstein

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