MongoDB Atlas hiểu đơn giản là tạo database online.
Ưu điểm: có bản miễn phí.
Nhược điểm: với bản miễn phí thì giới hạn dung lượng, giới hạn kết nối, giới hạn tốc độ... lâu lâu không dùng thì bị xóa.
Dưới đây là hướng dẫn cách tạo và kết nối MongoDB Atlas trong nodeJS.
Step 1: Đăng ký tài khoản
- Truy cập trang chủ: https://www.mongodb.com/
- Đăng ký sau đó đăng nhập
Step 2: Tạo mới project
Click vào danh sách Project và click New Project
Step 3: Đặt tên project
Tên Project phải là duy nhất (và một vài hạn chế khác).
Mình đặt tên là mongo-test
nếu ok không bị trùng thì click vào Next
Step 4: Thêm thành viên và set quyền truy cập project
Hiện tại chưa làm chung với ai cả nên ta click vào Create Project
.
Đợi một lúc để quá trình hoàn thành thì chúng ta đã có Project mới như hình
Step 5: Tạo database
Click vào Build a Database
Step 6: Chọn cloud database
Cái gì miễn phí thì chọn, sau đó click Create
Step 7: Tạo Cluster
Provider & Region
: AWS và SingaporeCluster Tier
: mặc định là M0 sandbox free foreverCluster Name
: đặt tên làcluster-mongo-test
- Sau đó click vào
Create Cluster
Giao diện khi hoàn thành
Step 8: Chọn kiểu connect
Click vào connect
Step 9: Thêm IP và database user
Phần 1: Add a connection IP address
- Add Your Current IP Address
- Add a Different IP Address
- Allow Access from Anywhere
Mình chọn Allow Access from Anywhere
và click luôn vào Add IP Address
Phần 2: Create a Database User.
Mình đặt tên là mongo-user
và password !23456
. Tiếp theo là click vào Create Database User
Kết quả
Step 10: Chọn phương thức kết nối
Click vào Choose a connection method
Step 11: Chọn kết nối tới application
Click vào Connect your application
Step 12: Tạo mã kết nối
Chọn driver and version
và copy đoạn mã kết nối được tự động sinh ra
Step 13: Kết nối mongoDB Atlas thông qua mongoose
- Tạo mới một dự án bằng câu lệnh:
npm init -y
- Cài đặt mongoose bằng câu lệnh:
npm install mongoose
- Tạo file
index.js
tại thư mục root của dự án:touch index.js
- Bên dưới là code file này, copy đoạn mã ở step 12 và thay thế
<password>
bằng mật khẩu!23456
.
const mongoose = require('mongoose')
const URL = 'mongodb+srv://mongo-user:<password>@cluster-mongo-test.fxndsza.mongodb.net/?retryWrites=true&w=majority'
const connectDB = async () => {
try {
await mongoose.connect(
URL,
{ useNewUrlParser: true, useUnifiedTopology: true }
)
console.log('Connected to mongoDB')
} catch (error) {
console.log(error)
process.exit(1)
}
}
connectDB()
- Test xem đã kết nối được chưa? nếu hiện log ra như này là ok con dê rồi.
$ node index.js
Connected to mongoDB