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; } });