我正在编写一个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地址已列入白名单
任何帮助都感激不尽。
谢谢
2条答案
按热度按时间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
js81xvg62#
对我起作用的是使用不同的互联网连接。我连接到我的移动的热点,并将其IP添加到网络访问白名单中。