问题:网页只有在我手动启动mongodb时才有效。否则我得到错误"错误无法连接127.0.0.1:27017"。但是,我相信我确实创建了服务器,也许我错过了一些步骤。
此外,请随时指出更好的做事方式,或者某些事情是否过时......
代码:
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');
});
答案 0 :(得分:2)
如果你真的需要从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;
}
});