جاوااسکریپت - اتصال کد به دیتابیس MongoDB خطا میدهد: خطا: querySrv ENODATA _mongodb._tcp.cluster0.h5prp.mongodb.net
من در حال برنامهنویسی یک ربات دیسکورد هستم و میخواهم آن را به یک پایگاه داده 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.js نسخه ۱۷.۱.۰ استفاده میکنم. من از WOKCommands استفاده میکنم و این سری آموزشی را دنبال میکنم https://youtube.com/playlist?list=PLaxxQQak6D_f4Z5DtQo0b1McgjLVHmE8Q
من به تمام نشانیهای IP اجازه دسترسی به پایگاه دادهام را دادهام، اطمینان حاصل کردهام که نشانی IP من در فهرست سفید قرار دارد
هر کمکی قدردانی میشود.
متشکرم
پاسخ شماره ۱
من نیاز داشتم که URI اتصال mongoDB را به نسخه قدیمیتر 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
