Myślę, że masz problem z analizą swojego hasła, być może ma ono znaki specjalne.
Najlepszym sposobem na poradzenie sobie z tym jest zmiana sposobu, w jaki się łączysz, aby przekazać użytkownika i hasło jako opcje.
Możesz śledzić dokument i zmień połączenie MongoClient na coś takiego:
const mongoclient = new MongoClient(new Server("remote-doc-otc5a.mongodb.net", 27017));
// Listen for when the mongoclient is connected
mongoclient.open(function (err, mongoclient) {
// Then select a database
const db = mongoclient.db("dbname");
// Then you can authorize your self
db.authenticate('username', 'password', (err, result) => {
// On authorized result=true
// Not authorized result=false
// If authorized you can use the database in the db variable
});
});
Oraz z mongoose możesz zrobić coś takiego:
mongoose.connect('mongodb+srv://@remote-doc-otc5a.mongodb.net/test?retryWrites=true&w=majority', {
user: 'USERNAME',
pass: 'PASSWORD',
useNewUrlParser: true,
useUnifiedTopology: true
})
Sprawdź również, czy nie używasz hasła do konta zamiast hasła do klastra/bazy danych.
Możesz skorzystać z tego samouczka, aby sprawdzić, czy używasz właściwego:Konfiguracja Atlasu MongoDB — Ocean cyfrowy .