Tôi nghĩ rằng bạn đang gặp vấn đề với việc phân tích cú pháp mật khẩu của mình, có thể mật khẩu có các ký tự đặc biệt.
Cách tốt nhất để xử lý điều này là thay đổi cách bạn đang kết nối để chuyển người dùng và mật khẩu làm tùy chọn.
Bạn có thể theo dõi doc và thay đổi hình nón MongoClient của bạn cho một cái gì đó như sau:
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
});
});
Và với mongoose bạn có thể làm điều gì đó như sau:
mongoose.connect('mongodb+srv://@remote-doc-otc5a.mongodb.net/test?retryWrites=true&w=majority', {
user: 'USERNAME',
pass: 'PASSWORD',
useNewUrlParser: true,
useUnifiedTopology: true
})
Ngoài ra, hãy kiểm tra xem bạn có đang không sử dụng mật khẩu tài khoản thay vì mật khẩu cụm / cơ sở dữ liệu hay không.
Bạn có thể làm theo hướng dẫn này để kiểm tra xem bạn có đang sử dụng đúng hay không: Thiết lập MongoDB Atlas - Digital Ocean .