Сообщение об ошибке: MongoError: неверная аутентификация Ошибка аутентификации через строку URI - PullRequest
3 голосов
/ 15 апреля 2019

Очень плохо знакомы с MongoDB и Node.js. Я пытаюсь подключиться к моему серверу mongoDB через строку подключения, данную мне mongo:

"MongoDB + SRV: // Дэвид: password@cluster0-re3gq.mongodb.net/test retryWrites = истина"

В моем коде я называю соединение через mongoose следующим образом (очевидно, вводя свой пароль):

const mongoose = require('mongoose');
const db = 'mongodb+srv://david:<password>@cluster0-re3gq.mongodb.net/test?retryWrites=true'
mongoose
    .connect(db, { 
        useNewUrlParser: true,
        useCreateIndex: true
      })
    .then(() => console.log('MongoDB connected...'))
    .catch(err => console.log(err));

Когда я запускаю код, я получаю следующую ошибку

«MongoError: сбой аутентификации при неудачной аутентификации.»

Есть идеи, что это могло бы значить? Спасибо!

Ответы [ 3 ]

8 голосов
/ 18 апреля 2019

Я думаю, что вы запутались с паролем учетной записи mongodb и паролем пользователя.Вы должны использовать пароль пользователя, а не пароль учетной записи.Это было причиной моего дела.

6 голосов
/ 17 апреля 2019

У меня была та же проблема, и в моем случае ответ был так же прост, как снятие угловых скобок "<" и ">" вокруг <password>.Я пытался: my_login_id:<my_password>, когда это должно было быть my_login_id:my_password.

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

Вы пишете свой пароль вместо <password>? Если это не так, рекомендуется создать переменную окружения в вашей операционной системе и вызвать ее с помощью process.env. [Ваша переменная]. Пример:

const password = process.env.YOURPASSWORDVARIABLE
const db = 'mongodb+srv://david:'+password+'@cluster0-re3gq.mongodb.net/test?retryWrites=true'

Еще лучше, вы также можете поместить всю строку подключения URL в переменную env:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...