tutorial probar node conexion conectarse conectar con node.js mongodb mlab

node.js - probar - No se puede conectar a mongolab, Obtención de MongoError: autenticación fallida



passport js tutorial (9)

Recientemente he creado una cuenta en mongoLab. Cuando intento conectarme a la base de datos con la siguiente declaración.

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.<anonymous> (/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)


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!


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://<My database username>:<my database password>.mlab.com:39648/videoplayer"


Asegúrese de que está utilizando el nombre de usuario y 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.


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 <dbuser> -p <dbpassword>


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 en la conexión:

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



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,


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

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

console.log(process.env.MONGO_ATLAS_PW);


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