1
resposta

Erro de conexão MongoServerError: Authentication failed

Pessoal, na verdade tive o problema e já encontrei a solução. Postando aqui para deixar documentado, caso alguém precise.

Para realizar a conexão, estou usando o mongo via docker e estava tendo a seguinte mensagem de erro.

Erro ao realizar conexão ao banco de dados mongo

Meu código estava da seguinte maneira:

async function conectaNaDatabase() {
mongoose.connect("mongodb://user:password@localhost:27017/livraria);
return mongoose.connection;
};

Alterei para:

async function conectaNaDatabase() {
mongoose.connect("mongodb://user:password@localhost:27017/livraria?authSource=admin);
return mongoose.connection;
};

Valeuuu!!

1 resposta

Olá, Danilo!

Muito obrigada por compartilhar sua solução conosco! Esse tipo de atitude colaborativa é extremamente valiosa para nossa comunidade.

Para quem está enfrentando o mesmo problema, o Danilo encontrou uma solução adicionando "?authSource=admin" na string de conexão do MongoDB. Isso é necessário porque, em algumas configurações do MongoDB, a autenticação é feita no banco de dados 'admin', e não no banco de dados especificado na string de conexão.

Portanto, se você estiver com um erro de autenticação ao tentar conectar ao MongoDB, tente alterar sua string de conexão de:

mongoose.connect("mongodb://user:password@localhost:27017/livraria);

para:

mongoose.connect("mongodb://user:password@localhost:27017/livraria?authSource=admin);

Lembre-se de substituir 'user', 'password' e 'livraria' pelos seus respectivos valores.

Espero ter ajudado e bons estudos!