Jag tror att du har problem med att analysera ditt lösenord, det kanske har specialtecken.
Det bästa sättet att hantera detta är att ändra sättet som du ansluter för att skicka användaren och lösenordet som alternativ.
Du kan följa dokumentet och ändra din MongoClient-anslutning till något sånt här:
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
});
});
Och med mongoose du kan göra något så här:
mongoose.connect('mongodb+srv://@remote-doc-otc5a.mongodb.net/test?retryWrites=true&w=majority', {
user: 'USERNAME',
pass: 'PASSWORD',
useNewUrlParser: true,
useUnifiedTopology: true
})
Kontrollera också om du inte använder kontolösenordet istället för kluster-/databaslösenordet.
Du kan följa denna handledning för att kontrollera om du använder rätt:MongoDB Atlas Setup - Digital Ocean .