【发布时间】:2016-05-14 04:34:02
【问题描述】:
我在尝试将我的节点 js 服务器连接到我的 EC2 实例上的 mongo 数据库时遇到了很多麻烦。
我使用 docker。
我有一个 mongo 容器。我已经按照这个程序:http://pierrepironin.fr/docker-et-mongodb/
我可以通过 docker exec 连接到它,我可以在我的数据库上做所有事情。
我没有设法在我的节点 js 应用程序中连接到它。我使用 mongoose,这里是我用来连接 mongo 的代码:
exports.mongoConnection = function(mongo_url){
mongoose.connect(mongo_url);
mongoose.connection.on('connected', function () {
logger.info('Mongoose default connection open to ' + mongo_url);
});
// If the connection throws an error
mongoose.connection.on('error',function (err) {
logger.info('Mongoose default connection error: ' + err);
logger.info("DB PATH : " + mongo_url);
});
// When the connection is disconnected
mongoose.connection.on('disconnected', function () {
logger.info('Mongoose default connection disconnected');
});
// If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
mongoose.connection.close(function () {
logger.info('Mongoose default connection disconnected through app termination');
process.exit(0);
});
});
};
我尝试了几个不同的网址,但没有一个有效,每次都会遇到这样的错误:
Mongoose default connection error: MongoError: connect ECONNREFUSED 0.0.0.0:27017
这里有一些我试过但没用的网址:
"mongodb://localhost:27017/test"
"mongodb://0.0.0.0:27017/test"
我还尝试使用我为我的一个数据库创建的用户密码。
"mongodb://my-user:my-password@0.0.0.0.0:27017/my-database"
我也尝试用我的 EC2 实例 IP 替换 0.0.0.0。
有人知道我在这里做错了吗? 如何连接到我的 mongo ?用哪个网址?
谢谢! :)
【问题讨论】:
标签: node.js mongodb amazon-ec2 mongoose