首页 > 解决方案 > 如何在猫鼬连接上使用“Node.js 3.0 或更高版本”?

问题描述

我正在开发 Node JS API,但突然间,我的 MongoDB 连接配置停止工作。

这是我的配置的样子:

const mongoose = require('mongoose');

try {
  mongoose.connect('mongodb+srv://<user>:<password>@hackerrank.jyajn.mongodb.net/<dbname>?retryWrites=true&w=majority', {useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false});
  mongoose.Promise = global.Promise;
}
catch(error) {
  console.log(error);
}

module.exports = mongoose;

这个连接一直工作到昨天,但是当我今天尝试运行它时,它抛出了错误:

Error: querySrv ENOTFOUND

我在这个帖子上看到

根据 MongoDB,由于 Mongoose,SRV 可能无法正常工作。

所以我将连接字符串更改为“Node.js 2.2.12 或更高版本”版本,如帖子中所述,它确实有效。

我的问题是,为什么会发生这种情况?我不应该能够使用最新的连接字符串吗,因为我的节点版本是v12.17.0

标签: javascriptnode.jsmongodbmongoose

解决方案


推荐阅读