Мисля, че имате проблем с анализирането на вашата парола, може би има специални знаци.
Най-добрият начин да се справите с това е да промените начина, по който се свързвате, за да подадете потребителя и паролата като опции.
Можете да следвате документ и променете връзката си с MongoClient за нещо подобно:
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
});
});
И с mongoose можете да направите нещо подобно:
mongoose.connect('mongodb+srv://@remote-doc-otc5a.mongodb.net/test?retryWrites=true&w=majority', {
user: 'USERNAME',
pass: 'PASSWORD',
useNewUrlParser: true,
useUnifiedTopology: true
})
Също така проверете дали не използвате паролата на акаунта вместо паролата на клъстера/базата данни.
Можете да следвате този урок, за да проверите дали използвате правилния:Настройка на MongoDB Atlas - Digital Ocean .