【问题标题】:mongoose wont connect to ec2 mongodb instance猫鼬不会连接到 ec2 mongodb 实例
【发布时间】:2018-08-03 10:59:25
【问题描述】:

我正在尝试创建一个 node.js 服务器来连接到我托管在 ec2 实例上的 mongodb。我正在这样做:

mongoose.connect("mongodb://username:password@ec2-xx-xx-xxx-xxx.eu-central-1.compute.amazonaws.com:27017/dbname");

db.on('error', err => {
    console.log('Mongoose default connection error:', err);
    db.close();
});

db.once('open', () => {
    console.log(`Mongoose default connection open`);
});

但它一直告诉我这个错误:

Mongoose default connection error: { MongoError: failed to connect to server [xxx] on first
 connect [MongoError: connect ETIMEDOUT xxx:27017]
    at Pool.<anonymous> (/Users/jmisiti/hm-landing/node_modules/mongodb-core/lib/topologies/server.js:336:35)
    at emitOne (events.js:115:13)
    at Pool.emit (events.js:210:7)
    at Connection.<anonymous> (/Users/jmisiti/hm-landing/node_modules/mongodb-core/lib/connection/pool.js:280:12)
    at Object.onceWrapper (events.js:318:30)
    at emitTwo (events.js:125:13)
    at Connection.emit (events.js:213:7)
    at Socket.<anonymous> (/Users/jmisiti/hm-landing/node_modules/mongodb-core/lib/connection/connection.js:189:49)
    at Object.onceWrapper (events.js:316:30)
    at emitOne (events.js:115:13)
    at Socket.emit (events.js:210:7)
    at emitErrorNT (internal/streams/destroy.js:62:8)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)

    at process._tickCallback (internal/process/next_tick.js:161:9)
  name: 'MongoError',
  message: 'failed to connect to server [xxx] on first connect [MongoError: connect ETIMEDO
UT xxx:27017]' }

我的连接字符串 100% 确定它有效。我的 mongoose 版本与我的 mongodb 版本配合得很好。任何想法 ? :)

PS:端口在 27017 上打开,并且已经有一个使用我的 mongodb 的 aws 实例。所以我确信它有效。

【问题讨论】:

    标签: node.js mongodb mongoose timeout


    【解决方案1】:

    确保您已在 EC2 安全组的出站端口中注册27017 端口。

    然后尝试访问数据库。如果您已经添加了端口并且仍然遇到错误,请检查您的 MongoDB 进程是否作为服务运行(即在后台)。如果没有,请关注this procedure

    【讨论】:

    • 感谢您的帮助。我的端口已打开,我的服务正在运行。我有一个实例 ec2 已经在使用这个数据库。我想要另一个使用相同数据库的实例 :)
    【解决方案2】:

    知道了。我无法从我的本地主机连接到我的 mongodb 服务器(不知道为什么)但是当我从我的 ec2 实例连接到我的 mongodb 服务器时它可以工作。所以没关系:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-29
      • 2013-12-09
      • 2016-09-22
      • 2020-04-03
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多