NodeJS在尝试MongoDB连接时断开连接

时间:2017-11-08 01:36:59

标签: javascript node.js mongodb mongoose

在我的 app.js 文件中,我有以下代码

var express = require('express');
var app = express();
var port = 8080;
var util = require('util');
var router = require('./base/js/routes.js');
//==================================================================
app.use('/', router);

// start the server
app.listen(port, function(request, response) {
    console.log('Port 8080: Server Begins');
});
//==================================================================
var ipaddress = '123.456.789';
//==================================================================
var mongoose = require('mongoose');

var mongoURI = "mongodb://"+ ipaddress +":27017/test";
var MongoDB = mongoose.connect(mongoURI);
MongoDB.on('error', function(err) {
    console.log(err.message);
});
MongoDB.once('open', function() {
    console.log("mongodb connection open");
});
//==================================================================

var MongoDB = mongoose.connect(mongoURI); 导致nodeJS无法工作。我不知道为什么。 NodeJS在端口8080上,MongoDB在端口27017上。

我相当确定我安装了mongodb软件包(并正确打开了端口)。我只是不明白为什么当我包含该连接线时nodeJS不起作用。

备注:我还永远安装了软件包:永远启动-c nodemon app.js 用于nodeJS。如果那是相关的。

2 个答案:

答案 0 :(得分:0)

您使用的是错误的IP地址格式。

首先尝试连接本地mongoDB实例,如果它工作,那么你检查你尝试连接的IP地址是否正确。

如果问题仍然存在,请添加正确的错误消息。

答案 1 :(得分:0)

从/ etc文件夹更改mongod.conf文件

在mongod.conf中,您需要更改bindIp

如果连接是本地的,则将bindIp设置为

bindIp = 127.0.0.1

如果要使用远程数据库,则将bindIp更改为

bindIp = 0.0.0.0

然后重新启动mongo服务 希望这对您有帮助...