Нод / экспресс-приложение не может подключиться к Mongodb Atlas с помощью mongoose - PullRequest
2 голосов
/ 14 апреля 2019

У меня есть приложение node / express, которое я пытаюсь подключить к Mongodb Atlas с помощью mongoose.

Весь мой код идентичен предыдущему приложению, которое я подключал к Atlas (которое работало нормально). Когда я запускаю его на своей рабочей машине (Windows 10), все работает как положено. Однако, когда я запускаю его на своем MacBook Pro (Mojave), приложение Express запускается, но соединение mongoose с Atlas выдает следующую ошибку:

{ Error: queryTxt EBADNAME development-zv5hp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:196:19)
  errno: 'EBADNAME',
  code: 'EBADNAME',
  syscall: 'queryTxt',
  hostname: 'development-zv5hp.mongodb.net' }

server.js

const express = require('express');
const mongoose = require('mongoose');

const app = express();

mongoose
  .connect(
    'mongodb+srv://client:<PASSWORD>@development-zv5hp.mongodb.net/shop',
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

Что может быть причиной этой проблемы? Я проверил пользователя и пароль Atlas и занес в белый список мой IP (фактически, в белый список все IP)

Использование:

  • узел v10.15.3
  • Экспресс v4.16.4
  • Мангуста v5.5.1

1 Ответ

0 голосов
/ 14 апреля 2019

пожалуйста, добавьте autoIndex: false это работает для меня

mongoose
  .connect(
    'mongodb+srv://client:<PASSWORD>@development-zv5hp.mongodb.net/shop',
    {autoIndex: false, useNewUrlParser: true }
...