如何在本地网络内连接另一台机器mongodb数据库?

时间:2017-01-05 06:05:00

标签: node.js mongodb mongoose

我按照这个mongoose文件enter link description here

mongoose.connect('mongodb://localhost/waterDB');

使用这个,我可以连接本地机器waterDB mongoDB DataBase

我的个人计算机本地IP:192.168.1.5

我的服务器计算机本地IP:192.168.1.100

两台机器都有waterDB数据库。两个数据库都没有用户名和密码

我想在我的个人计算机内连接服务器计算机waterDB

根据这个:mongoose.connect('mongodb://username:password@host:port/database?options...');

我尝试:mongoose.connect('mongodb://192.168.1.100:27017/waterDB');

但是,

MongoError: failed to connect to server [192.168.1.100:27017] on first connect
at null.<anonymous> (/home/water/node_modules/mongodb-core/lib/topologies/server.js:313:35)
at emitOne (events.js:77:13)
at emit (events.js:169:7)
..........

任何err解决方案?

谢谢(@ _ @)

3 个答案:

答案 0 :(得分:7)

您的MongoDB实例仅在localhost上侦听可能会出现问题。 您可以更改MongoDB配置文件中的bind address。配置文件可能位于/etc/mongodb.conf/etc/mongod.conf中。还有2种配置文件格式:

旧格式(仍受支持):

bind_ip = 0.0.0.0

YAML(版本2.6 +):

net:
    bindIp: 0.0.0.0

更改配置文件后,您必须重新启动MongoDB服务器。

答案 1 :(得分:2)

尝试没有端口号

mongoose.connect('mongodb://192.168.1.100/waterDB');

这对你有用。

但请确保两者都连接在同一网络上,如果您在服务器以外的其他网络上连接,则无法正常工作

答案 2 :(得分:1)

在这种情况下,您将必须使用SSH隧道。请参考以下链接,该链接显示了如何创建SSH隧道。
Node.js SSH Tunneling to MongoDB using Mongoose

相关问题