node.js - Mongoose 无法连接:错误:querySrv ENOTIMP mongodb.tcp.cluster1-owfxv.mongodb.net
问题描述
Mongoose 无法连接到 mogodb Atlas。它每次都给我这个错误:
Error: querySrv ENOTIMP _mongodb._tcp.cluster1-owfxv.mongodb.net
我在本地 minikube 内的 kubernetes 集群内运行。如果我直接运行项目,那么它可以完美运行,但是使用 minikube 它总是给我错误。
以下是我的代码:
const url = "mongodb+srv://name:password@cluster1-owfxv.mongodb.net/test?retryWrites=true";
const mongoDbOptions = {
useNewUrlParser: true,
reconnectTries: 10,
autoReconnect: true
};
mongoose.connect(url, mongoDbOptions).then((r) => { }).catch((e) => {
console.log(e);
});
错误信息对我来说不是很清楚。奇怪的是它可以直接工作,但是对于 Kubernetes 集群它不起作用。
我将非常感谢任何贡献。
解决方案
尝试使用与 mongo 驱动程序 2.2.12 或更高版本兼容的连接字符串,即带有 mongodb://username:password@host1:port,host2:port,host3:port/databaseName 的连接字符串
目前尚不清楚为什么与 mongodb 的连接不适用于新的 url。
推荐阅读
- reactjs - 跨同一组件的不同实例的独立传奇调用/响应?
- git - git fsck --unreachable --lost-found 不会将对象保存为 lost-found 目录中的文件
- docker - 通过 ssh 构建时如何使问题选项卡显示构建警告
- javascript - 如何只隐藏没有文字的锚点?
- php - 无论codeigniter中的排序如何,我都希望顶部的特定记录集
- scala - 将多个单独的条目合并到 Spark Dataframe 中的单个条目
- python - 它在 Keras 中显示错误,Classifier.Fit_Generator
- javascript - JS 过滤 JSON 响应
- symfony - 如何防止重复值提交?
- postgresql - 错误:函数 last_insert_id() 不存在