【问题标题】:how to connect another machine mongodb database inside local network ?如何在本地网络内连接另一台机器 mongodb 数据库?
【发布时间】:2017-05-19 14:18:39
【问题描述】:

我关注这个猫鼬文档enter link description here

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

使用这个,我可以连接本地机器waterDBmongoDB 数据库

我的个人机器本地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)
..........

有什么解决办法吗?

谢谢 (@_@)

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      旧格式(仍受支持):

      bind_ip = 0.0.0.0
      

      YAML(2.6+ 版):

      net:
          bindIp: 0.0.0.0
      

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

      【讨论】:

      • 为什么要0.0.0.0?在这种情况下是什么意思?编辑:找到我的问题的答案:“要绑定到所有 IPv4 地址,请输入 0.0.0.0。”来自bind address 链接。
      【解决方案3】:

      尝试不使用端口号。

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

      这应该适合你。

      但请确保两者都连接在同一个网络上,如果您连接在服务器之外的其他网络上,那么它将无法工作

      【讨论】:

      • 你确定mongodb在服务器机器上运行吗?
      • 在两台机器上。运行mongodb。我检查两个个人。我需要知道。如何连接 mongodb 数据库,但它有另一台机器,两台机器都有相同的网络。希望任何文档....
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      相关资源
      最近更新 更多