it-swarm.com.de

Richtige Art, Mongodb und Express zu starten?

Ich habe eine App, die auf Express läuft und mit Mongodb kommuniziert. So starte ich meine App:

1.Start Mongodb

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

2.Start Express

node server.js

Meine Frage ist, gibt es eine Möglichkeit, diese zu kombinieren? Ich weiß, dass Node Single-Threaded ist, also können wir nicht sowohl Express als auch Mongo von server.js ausführen, aber was ist der richtige Weg? Ist es möglich, Mongo mit npm aus einer Javascript-Datei heraus zu starten?

Bearbeiten:

Ich kann mongod --dbpath data und node server.js separat auf zwei verschiedenen Eingabeaufforderungen ausführen. Meine Frage ist, sie von einer Akte zu beginnen (wenn möglich).

16
WhatisSober

start erstellt eine neue cmd in Windows . Hier ist meine Konfiguration:

"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()\""
},

Viel Glück!

14
Peter

Wenn Sie mit Linux arbeiten, können Sie die Datei package.json verwenden, um Skripts zu definieren, die genau das tun, was Sie brauchen.

Es gibt auch ein paar Probleme: 

Wenn Sie Linux verwenden, können Sie verwenden 

"mongod --fork --dbpath data --config mongo.conf" und "node index.js" verwenden mongodb und führen die App gleichzeitig aus. Das würde gut funktionieren.

Wenn Sie jedoch unter Windows arbeiten, müssen Sie ein separates Konsolenfenster für Mongo und ein separates für die App verwenden. 

Wenn Sie unter Windows laufen, würde ich wahrscheinlich meine package.json-Skripts verwenden, um mongodb auszuführen, und ich würde meine App in einem anderen Terminal ausführen, da es einfacher ist, node index.js als den mongod-Teil einzugeben.

1
Christo

Setup-Mongo als Windows-Dienst ausgeführt, ich habe immer Mongo an und es hat in den letzten 3 Jahren an meinem Entwicklungscomputer gearbeitet. Stellen Sie auf der Implementierungsmaschine den Mongo so ein, dass er von einem Dämon gesteuert wird.

1
simon-p-r

versuche dies.

"scripts": {
"prestart": "start  \"mongoServer\" \"c:Program Files/MongoDb/Server/3.4/bin/mongod.exe\" &    start \"redis\" \"c:Program Files/Redis/redis-server.exe\"",
"start": "node app.js",
"stop": "Taskkill /IM mongod.exe  & Taskkill /IM redis-server.exe"},
0
EAS