Yêu cầu thg 9 4, 2021 9:28 SA 324 0 3
  • 324 0 3
+1

Lỗi kết nối với MongoDB. mình dùng mongoose

Chia sẻ
  • 324 0 3

Minh đang thử kết nỗi MongoDB dùng mongoose sao mình connect ở trên máy tính local thì báo lỗi chưa có IP đấy ở trong whitelist nhỉ. trong khi em set là any where IP. Trong khi e dùng cái codesanbox thì nó kết nối được. Mình đã thử chỉ dùng IP ở mạng của mình thì trên sanbox kết nối không được thật Mọi người giúp mình với 😥

Code sanbox image.png

Vscode image.png


var mongoDB =
  'mongodb+srv://dbAdmin:RJ4ZVd5JIE0MCIfr@cluster0.ql3el.mongodb.net/cribble?retryWrites=true&w=majority';
mongoose.connect(mongoDB, { useNewUrlParser: true, useUnifiedTopology: true });

//Get the default connection
var db = mongoose.connection;

//Bind connection to error event (to get notification of connection errors)
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
db.once('open', function () {
  console.log('Connected successfully');
});

3 CÂU TRẢ LỜI


Đã trả lời thg 9 8, 2021 1:33 SA
Đã được chấp nhận
0

Chỗ này lộ user và pass rồi bạng ạ. Khi show lên thế này nên che đi. Biết là db test cơ mà vẫn toang đó. mongodb+srv://[user]:[pass]@cluster0.ql3el.mongodb.net/cribble

Chia sẻ
Đã trả lời thg 9 8, 2021 1:35 SA
0

Bạn thử cái này xem được không?

const MONGO_DB_CONNECT = `mongodb+srv://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${process.env.DB_CLUSTER}?retryWrites=true&w=majority`;
const mongoose = require('mongoose');
const connectDB = async () => {
  try {
    await mongoose.connect(MONGO_DB_CONNECT);

    console.log('MongoDb connected');
  } catch (error) {
    console.log(error);
    process.exit(1);
  }
};
connectDB();
Chia sẻ
Đã trả lời thg 2 1, 2022 5:06 CH
0

Public thông tin nên cẩn thận che pass nhé! Về câu trả lời thì nếu bạn đọc được tiếng anh sẽ thấy luôn là IP của app đang chạy đang không được whitelist trên cluster MongoDB Atlas. Bạn có thể vào quản trị DB và thêm IP vào. image.png Hạn chế 0.0.0.0/0 (Anywhere) chứ không pha mất pass trên có thể dẫn đến lộ dữ liệu luôn...

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí