javascript 将代码连接到MongoDB数据库时出错:错误:查询服务ENODATA _mongodb._tcp.cluster0.h5prp.mongodb.net

utugiqy6  于 2023-01-19  发布在  Java
关注(0)|答案(2)|浏览(117)

我正在编写一个discord机器人,我想把它连接到mongoDB数据库。但是当我这样做的时候,我得到了这个错误,

Error: querySrv ENODATA _mongodb._tcp.cluster0.h5prp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (node:dns:228:19) {
  errno: undefined,
  code: 'ENODATA',
  syscall: 'querySrv',
  hostname: '_mongodb._tcp.cluster0.h5prp.mongodb.net'
}

下面是我的代码:

client.on('ready', () => {
    console.log('The bot is ready!')
  const dbOptions = {
    // These are the default values
    keepAlive: true
  }
  new WOKCommands(client, {
    // The name of the local folder for your command files
    commandsDir: path.join(__dirname, 'commands'),
    // Allow importing of .ts files if you are using ts-node
    typeScript: true,
    // Pass in the new dbOptions
    dbOptions,
    // Pass in your own mongo connection URI
    mongoUri: 'mongodb+srv://discordbot:******@cluster0.h5prp.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'
  })
})

我浏览了文档和其他帖子,但没有找到任何解决问题的方法。我使用的是Node.jsv17.1.0。我使用的是WOKCommands,并遵循本教程系列https://youtube.com/playlist?list=PLaxxQQak6D_f4Z5DtQo0b1McgjLVHmE8Q
我已允许所有IP地址访问我的数据库,我已确保我的IP地址已列入白名单
任何帮助都感激不尽。
谢谢

lg40wkob

lg40wkob1#

我需要将mongoDB连接URI更改为更早的Node.js版本。
我把它改成了“2. 2. 12或更高版本”,它工作了。

哪个游戏我有这样的链接:mongodb://discordbot:<password>@cluster0-shard-00-00.h5prp.mongodb.net:27017,cluster0-shard-00-01.h5prp.mongodb.net:27017,cluster0-shard-00-02.h5prp.mongodb.net:27017/myFirstDatabase?ssl=true&replicaSet=atlas-g86xz1-shard-0&authSource=admin&retryWrites=true&w=majority

js81xvg6

js81xvg62#

对我起作用的是使用不同的互联网连接。我连接到我的移动的热点,并将其IP添加到网络访问白名单中。

相关问题