2015-10-24 7 views
13

मेरे पास एक ऐप है जो एक्सप्रेस पर चलता है और मोंगोडब के साथ संचार करता है। ,मोंगोडब और एक्सप्रेस शुरू करने का सही तरीका?

1.Start MongoDB

mongod --dbpath data --config mongo.conf" 

2.Start एक्सप्रेस

node server.js 

मेरा प्रश्न है कि इन गठबंधन करने के लिए एक रास्ता है: यह कैसे मैं अपने ऐप शुरू है? मुझे पता है कि नोड एकल थ्रेडेड है इसलिए हम server.js से एक्सप्रेस और मोंगो दोनों को चला नहीं सकते लेकिन सही तरीका क्या है? क्या एनएमपी का उपयोग कर जावास्क्रिप्ट फ़ाइल से मोंगो शुरू करना संभव है?

संपादित करें:

मैं mongod --dbpath डेटा और नोड server.js अलग पर दो अलग-अलग आदेश संकेत चला सकते हैं। मेरा सवाल है कि उन्हें एक फ़ाइल से शुरू करना है (यदि संभव हो)।

+1

क्या आप विंडोज़ पर चल रहे हैं? – Hristo

+0

@ क्रिस मैं विंडोज़ पर हूं। मेरा परिनियोजन सर्वर लिनक्स है। – WhatisSober

उत्तर

10

start खिड़कियों यहाँ में नए cmd बनाता है मेरी config है!

+0

उसी स्थिति में किसी और के लिए, मेरे पास एक उच्च भाई फ़ोल्डर में मेरा मोंगो फ़ोल्डर था, इसलिए मैंने अपनी कॉन्फ़िगरेशन को इस "प्रतिष्ठा" की तरह दिखने के लिए बदल दिया: "cd .. & md mongo-db और mongod --dbpath प्रारंभ करें।/मोंगो-db "' – Evildonald

-1

हां। अपने package.json का उपयोग करके आप स्क्रिप्ट को परिभाषित कर सकते हैं: npm start कॉलिंग अपने प्रारंभ स्क्रिप्ट package.json

में परिभाषित किया गया और अधिक देखने https://docs.npmjs.com/misc/scripts

+0

क्या यह विंडोज़ पर काम करता है? – Hristo

+0

मुझे लगता है कि जब तक विंडोज एनवी में NODE_ENV और NODE_PATH सेट किया गया हो। – drowzy

+5

मुझे लगता है कि यहां कोई समस्या है, चूंकि mongod पृष्ठभूमि नोड server.js में शुरू नहीं होता है वास्तव में भाग नहीं मिलता है।अपने कोड का परीक्षण नहीं किया है इसलिए मैं गलत हो सकता था। :) – Hristo

1

आप लिनक्स पर आप कर सकते थे चला रहे हैं के लिए निष्पादित करेंगे

{ 
    "name": "my package", 
    "version": "1.0.0", 
    "scripts": { 
    "start": "mongod --dbpath data --config mongo.conf && node server.js", 
    }, 
    "devDependencies": { 
    "express": "*" 
    } 
} 

स्क्रिप्ट को परिभाषित करने के लिए package.json फ़ाइल का उपयोग करें जो आपको केवल वही करता है जो आपको चाहिए। आप

"mongod --fork --dbpath data --config mongo.conf" और "node index.js" का उपयोग MongoDB का उपयोग करें और एक ही समय में अनुप्रयोग चलाने के लिए कर सकते हैं और है कि बस ठीक काम करेगा

आप लिनक्स चला रहे हैं:

हालांकि कुछ मुद्दों कर रहे हैं।

लेकिन यदि आप विंडोज़ पर हैं तो आपको मोंगो के लिए एक अलग कंसोल विंडो और ऐप के लिए एक अलग एक का उपयोग करना होगा।

यदि आप विंडोज़ पर चल रहे हैं तो शायद मैं अपने पैकेज.जेसन स्क्रिप्ट का उपयोग मोंगोडब चलाने के लिए करता हूं और मैं अपने ऐप को दूसरे टर्मिनल में चलाऊंगा क्योंकि मैंगोड भाग से node index.js टाइप करना आसान है।

+0

धन्यवाद क्रिस। क्या जावास्क्रिप्ट फ़ाइल प्रकार से "mongod --dbpath डेटा" करने के लिए stat करने का कोई तरीका है जैसे node startdatabase.js। – WhatisSober

+0

@WhatisSober आपको उस मामले में कमांड लाइन तर्कों के साथ एक प्रक्रिया चलाने की ज़रूरत है जो मुझे लगता है कि मैं पैकेज.जेसन फ़ाइल को कॉन्फ़िगर करने और ऐप के लिए एक अलग विंडो चलाने से अधिक कठिन हूं। यह सिर्फ दुखद है कि विंडोज़ - फ्लोर ध्वज की पेशकश नहीं करता है। – Hristo

1

विंडोज़ सेवा के रूप में चलाने के लिए सेट-अप मोंगो, मेरे पास हमेशा मोंगो है और यह मेरे देव मशीन पर पिछले 3 वर्षों से काम करता है। परिनियोजन मशीन पर एक डिमन द्वारा नियंत्रित किया जाने वाला मोन्गो सेट करें।

"scripts": { 
    "prestart": "start mongod --config ./data/mongod.cfg", 
    "start": "node ./server/bin/www", 
    "poststart": "start mongo admin --eval \"db.getSiblingDB('admin').shutdownServer()\"", 
    "pretest": "start mongod --dbpath data", 
    "test": "mocha test", 
    "posttest": "start mongo admin --eval \"db.getSiblingDB('admin').shutdownServer()\"" 
}, 

गुड लक:

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