mongodb不会从nodejs开始

问题:网页只有在我手动启动mongodb的情况下才有效。 否则,我会得到错误“错误无法连接127.0.0.1:27017”。 但是,我相信我创build服务器,也许我错过了一些步骤。

此外,请随时指出更好的做事方式,或者如果有些事情已经过时…

代码:

var express = require('express'), app = express(), cons = require('consolidate'), MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server; app.engine('html', cons.swig); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); var mongoclient = new MongoClient(new Server("127.0.0.1", 27017)); var db = mongoclient.db('course'); app.get('/', function(req, res){ // Find one document in our collection db.collection('hello_combined').findOne({}, function(err, doc) { if(err) throw err; res.render('hello', doc); }); }); app.get('*', function(req, res){ res.send('Page Not Found', 404); }); mongoclient.open(function(err, mongoclient) { if(err) throw err; app.listen(8080); console.log('Express server started on port 8080'); }); 

如果您确实需要从“nodejs”启动它,则可以在使用child_process模块​​启动node.js服务器时启动mongodb。

在您的应用程序代码中添加以下代码:

 var child_process = require('child_process') child_process.exec('start mongod', function (err, stdout, stderr) { if (err) { console.log(err); return; } });