No se puede conectar a mongolab, Obtención de MongoError: autenticación fallida

Recientemente he creado una cuenta en mongoLab. Cuando bash conectarme a la base de datos con la siguiente statement.

var mongoose = require('mongoose'); mongoose.connect('mongodb://mk:[email protected]:47742/mkdb'); 

Siempre estoy recibiendo el siguiente error

 MongoError: auth failed at Function.MongoError.create (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:31:11) at /Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:793:66 at Callbacks.emit (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:94:3) at null.messageHandler (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:235:23) at Socket. (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:259:22) at Socket.emit (events.js:107:17) at readableAddChunk (_stream_readable.js:163:16) at Socket.Readable.push (_stream_readable.js:126:10) at TCP.onread (net.js:538:20) 

Asegúrese de utilizar el username y la password la base de datos, no el username y la password de la cuenta de Mlab.

En MLab, anteriormente MongoLab, haga lo siguiente

  1. Navegar a Users
  2. Add Database User
  3. Elige tu nombre de usuario y contraseña

Ahora puede probar esto en el shell con mongo ds061374.mlab.com:61374/yourdb -u -p

Mongolab actualizó sus bases de datos 2.6.x a 3.0.x. Desafortunadamente, mongo3 tiene un mecanismo de autenticación diferente, por lo que los clientes antiguos no son compatibles.

Mongoose está utilizando el controlador nativo de Mongo, por lo que debe actualizarlo. Esto generalmente se hace actualizando su instalación local de mongo.

Para aquellos que usan mongojs, actualice a la última versión y agregue el authMechanism:'ScramSHA1' en el objeto de opciones al conectarse:

 db = mongojs('mongodb://username:[email protected]:32132/mydb', ["mycollection"], {authMechanism: 'ScramSHA1'}); 

Para mí la solución fue:

 $ npm install --save --save-exact [email protected] 

Según: la aplicación Heroku se bloquea después de que MongoDB se haya actualizado a 3.0

Base de datos de usuario crear Aquí debemos saber que el nombre de usuario y la contraseña de mLab no son el nombre de usuario y la contraseña de Nuestra base de datos también … hay que verificar si hemos utilizado el nombre de usuario y la contraseña correctos para la conexión.

Podemos crear una cuenta de usuario de base de datos aquí —- >>

Mi conexión constará de la siguiente manera

 const db ="mongodb://:.mlab.com:39648/videoplayer" 

1- Asegúrese de que la base de datos está en funcionamiento. 2- No te olvides de crear el usuario db para tener credenciales de acceso.

Deseo que te ayude!

simplemente agregue? authSource = yourDB & w = 1 al final de la URL de la base de datos

mongoose.connect (‘mongodb: // usuario: contraseña @ host / yourDB? authSource = yourDB & w = 1’) este trabajo para mí. & w = 1 es importante

p.ej

MONGO_URI = ‘mongodb: // kahn: [email protected]: 13402 / ecommerce? AuthSource = ecommerce & w = 1′;

https://github.com/Automattic/mongoose/issues/4587

Esto me salvó la vida

Recibí este error mientras utilizaba una versión anterior de mongoose (versión 3.8.10). Después de actualizar a la última versión (versión 5.0.10), el error desapareció y se realizó una conexión.

Simplemente ejecute npm install [email protected] –save …. Pero reemplace la versión con la versión más reciente,

Asegúrese de que está utilizando el nombre de usuario y la contraseña de db adecuados.

Si está intentando conectarse a db a través de su código y su nombre de usuario y contraseña tienen caracteres especiales como ‘@’, ‘$’, etc., asegúrese de codificar su URI con la función encodeURIComponent ()

ejemplo: “localhost: // pooja:” + encodeURIComponent (‘pooja @ 123’) + “/ trymynewdb” , luego use el uri enocded para conectarse a db.

Si su contraseña tiene caracteres especiales, sería mejor verificar el valor de encoding url del carácter especial presente aquí: lista de encoding url

Pero le sugiero que verifique que sus datos se envíen antes de intentar conectarse. Una forma de verificarlo es console.log los datos que se envían. Ejemplo:

 console.log(process.env.MONGO_ATLAS_PW);