Asked Sep 4th, 2021 9:28 a.m. 304 0 3
  • 304 0 3
+1

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

Share
  • 304 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 ANSWERS


Answered Sep 8th, 2021 1:33 a.m.
Accepted
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

Share
Answered Sep 8th, 2021 1:35 a.m.
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();
Share
Answered Feb 1st, 2022 5:06 p.m.
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...

Share
Viblo
Let's register a Viblo Account to get more interesting posts.