Mongoose DocumentDB连接通过SSH隧道失败

jaxagkaj  于 2023-02-13  发布在  Go
关注(0)|答案(1)|浏览(143)

我正在尝试使用Node. js/Typescript和Mongoose连接到AWS DocumentDB。我有一个EC2示例设置为SSL隧道,效果很好。我可以使用Studio3T和mongo-cli在本地连接到DocumentDB。此命令的工作方式为mongo --sslAllowInvalidHostnames --ssl --sslCAFile rds-combined-ca-bundle.pem --username <username> --password <password>
但是如果我尝试用Mongoose连接到同一个数据库,它就失败了。这是我的代码和错误:

const options = {
  dbName: "prodDB",
  user: connectionData.username,
  pass: connectionData.password,
  tls: true,
  tlsCAFile: "../rds-combined-ca-bundle.pem",
  tlsAllowInvalidHostNames: true,
};
try {
  await connect("mongodb://localhost:27017", options);
} catch (error) {
  console.log(error);
}
MongooseServerSelectionError: connect EHOSTUNREACH imagine-ip-address-here:27017
reason: TopologyDescription {
  type: 'ReplicaSetNoPrimary',
  servers: Map(1) {
    'censored:27017' => [ServerDescription]
  },
  stale: false,
  compatible: true,
  heartbeatFrequencyMS: 10000,
  localThresholdMS: 15,
  setName: 'rs0',
  commonWireVersion: 7,
  logicalSessionTimeoutMinutes: undefined
}

在这一点上,我已经尝试了几乎任何可能的配置 Mongoose 和我越来越绝望。任何帮助是赞赏

ykejflvf

ykejflvf1#

这似乎是mongoose版本〉= 6的问题。将Mongoose降级到版本5.13.8没有问题。Mongoose开发者显然意识到了这个问题:https://github.com/Automattic/mongoose/issues/11105

相关问题