tutorial sintaxis query for example all mongodb node.js mongoose

sintaxis - Contraseña de MongoDB con "@" en ella



mongodb tutorial (9)

Ninguna de las soluciones mencionadas anteriormente funcionó para mí. Investigué más y descubrí que tenía que incluir el parámetro useNewUrlParser.

mongoose.connect(db, { useNewUrlParser : true }, err => { if (err){ console.error(''Error: '' + err) } else{ console.log(''Connected to MongoDb'') } })

Por lo que entiendo, necesitas una versión específica de MongoDB para usar esto. Para obtener más detalles, marque la casilla Evitar que el analizador de cadenas URL actual esté en desuso estableciendo useNewUrlParser en true

Es para deshacerse de la advertencia, pero claramente la versión también afecta el parámetro requerido.

No he probado todos los personajes especiales, pero definitivamente funciona con ''@ # $''.

Espero que esto ayude.

Estoy intentando conectarme a una base de datos MongoDB con un nombre de usuario y contraseña usando Mongoose en Node.js. Todos los documentos dicen que la cadena de conexión debería verse

mongodb://username:password@host:port/db

Sin embargo, la contraseña contiene el carácter ''@''. ¿Cómo puedo hacer una cadena de conexión de esto que la mangosta entenderá? ¿Puedo escapar de la ''@'' en la contraseña o hay otro método de conexión que debo usar?


Prueba este, mis amigos:

mongoose.connect("mongodb://localhost:27017/test?authSource=admin", {user: ''viettd'', pass: ''abc@123''});

test es mi nombre db
admin es mi el DB para autenticar
viettd es mi nombre de usuario
abc@123 es mi contraseña


Si su contraseña tiene caracteres especiales:

const dbUrl = `mongodb://adminUsername:${encodeURIComponent(''adminPassword'')}@localhost:27017/mydb`;


También me he enfrentado al mismo problema. Lo he resuelto agregando una contraseña codificada en la cadena de conexión. Y funciona muy bien.

(1) Codifique su contraseña desde https://www.url-encode-decode.com (2) Reemplace su contraseña por una codificada. (3) Debería funcionar bien.

Por ejemplo: Contraseña actual: ABCDEX $ KrrpvDzRTy` @ drf. ''; 3X Contraseña codificada: ABCDEX% 24KrrpvDzRTy% 60% 40drf.% 27% 3B3X

mongodb: // user1: ABCDEX%24KprpvDzRTy%60%40drf.%27%[email protected]: 1234, ds1234-test.com: 19889 / mongo-dev? replicaSet = rs-ds123546978 & ssl = true '',


Use el parámetro de options de la llamada mongoose.connect para especificar la contraseña en lugar de incluirla en la cadena URL:

mongoose.connect(''mongodb://localhost/test'', {user: ''username'', pass: ''p@ssword''}, callback);


Use esta sintaxis, no olvide la opción uri_decode_auth .

mongoClient.connect("mongodb://username:p%40ssword@host:port/dbname", { uri_decode_auth: true }, function(err, db) { } );


a veces necesita conectarse a la base de datos utilizando otras tools que acepten una cadena solo como cadena de conexión. así que simplemente cambie el signo @ con% 40


use pwd en su lugar pase, eso funcionó para mí para la versión3.2

mongoose.connect(''mongodb://localhost/test'', {user: ''username'', pwd: ''p@ssword''}, callback);


Also, if your password contains a percentage, %, Because the percent ("%") character serves as the indicator for percent-encoded octets, it must be percent-encoded as "%25" for that octet to be used as data within a URI for example, if your password is John%Doe, the new transformed password will be John%25Doe or If password is Paul%20Wait, New Password will be Paul%2520Wait mongoClient.connect("mongodb://username:John%25Doe@host:port/dbname", function(err, db) { // password is John%Doe }`enter code here` );