جاوااسکریپت - اتصال کد به دیتابیس 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