/ / mongodb няма да започне от nodejs - node.js, mongodb

mongodb няма да започне от nodejs - node.js, mongodb

Проблемът: уеб страницата работи само ако ръчно стартирам mongodb. В противен случай получавам грешка "Error failed to connect 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");
});

Отговори:

2 за отговор № 1

Ако наистина трябва да го стартирате "от nodejs", можете да стартирате mongodb, когато стартирате сървъра си node.js, като използвате модула child_process.

Добавете кода по-долу в кода на приложението си:

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