我在 IP ex: 111.111.111.23:3000 中有一个 Node js 应用程序我想从我的本地 express/node 应用程序脚本连接到我的远程 mongodb 数据库。数据库在上面提到的 IP 中运行,但由于某种原因,我所能做的就是连接到我的本地 mongodb 数据库。
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
mongoose.connect('mongodb://localhost/test');
}
上面的代码在我的 app.js 中,它可以工作,但我想做的是这样的。
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
mongoose.connect('mongodb:111.111.111.23:27017/test');
}
我尝试添加带有和不带有端口的 ip,但它失败了。
我的问题是如何从本地计算机连接到远程数据库?
这就是帮助。远程服务器正在运行 ubuntu server 14.04,我使用本指南安装了 mongodb:https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
我收到以下错误:
错误:连接 ECONNREFUSED 111.111.111.23:27017
最佳答案
Mongoose 连接格式为:
mongoose.connect('mongodb://username:password@host:port/database')
如果您没有用户名和密码,只需执行:
mongoose.connect('mongodb://host:port/database');
来源:http://mongoosejs.com/docs/connections.html
您也可以尝试使用 mongo 客户端进行连接,看看是否有效..
$ mongo 111.111.111.23:27017
另外,但不太可能,请确保您的 mongod 服务已启动。
$ sudo service mongod start
最后,请确保您的防火墙已关闭或使用以下命令打开端口:
$ iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
关于node.js - 如何使用 mongo/mongoose 连接远程数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614229/