正确的方式开始MongoDB和expression?

我有一个应用程序运行在快递和MongoDB沟通。 这是我如何启动我的应用程序:

1.开始Mongodb

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

2.开始快递

 node server.js 

我的问题是,有没有办法把这些结合起来? 我知道节点是单线程的,所以我们不能运行express和mongo从server.js,但是什么是正确的方法? 是否有可能使用npm从javascript文件启动mongo?

编辑:

我可以在两个不同的命令提示符下单独运行mongod –dbpath数据节点server.js 。 我的问题是从一个文件启动它们(如果可能的话)。

start在Windows中创build新的cmd这里是我的configuration:

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

祝你好运!

如果你正在Linux上运行,你可以使用package.json文件来定义脚本来完成你所需要的。

还有几个问题:

如果你正在运行Linux,你可以使用

"mongod --fork --dbpath data --config mongo.conf""node index.js"使用mongodb并同时运行应用程序,这将工作得很好。

但是,如果你在Windows上,你必须使用一个单独的控制台窗口mongo和一个单独的应用程序。

如果你在Windows上运行,我可能会使用我的package.json脚本来运行mongodb,而我会在另一个terminal上运行我的应用程序,因为键入node index.js比mongod部分更容易。

设置mongo作为一个windows服务运行,我总是有mongo,并且在我的开发机器上工作了3年。 在部署机器上将mongo设置为由守护进程控制。

是。 使用你的package.json你可以定义脚本:

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

调用npm start将执行在package.json中定义的启动脚本

有关更多信息,请参见https://docs.npmjs.com/misc/scripts