Web

Xây dựng một CRUD app đơn giản với Nodejs và Mongodb – Phần 2

Tạo database Mongodb

Mongodb là một hệ quản trị cơ sở dữ liệu mã nguồn mở, thuộc dạng NoSQL. Các dữ liệu của mongodb được lưu với dạng JSON thay vì dưới dạng bảng như SQL. Các dữ liệu của mongodb có tính linh hoạt và có thể mở rộng mà không bị ràng buộc bởi các khóa chính, khóa ngoại…

Thay vì cài đặt mongodb trên một server hay trên máy của mình (để demo). Chúng ta sẽ dùng dịch vụ có sẵn trên mongodb cloud. Chúng ta chỉ cần vào trang https://www.mongodb.com/cloud và đăng ký một tài khoản.

Vậy là chúng ta đã có một database để lưu trữ.

Sau khi đã đăng ký một tài khoản trên mongodb cloud, chọn New Project để tạo một dự án mới:

Mongodb cloud sẽ yêu cầu chúng ta nhập vào tên dự án và những người mà chúng ta muốn mời tham gia vào dự án.

Trong project vừa tạo, chúng ta tiếp tục tạo một cluster để quản lý database. Nhấn nút Build a Cluster:

Chúng ta cần chọn nhà cung cấp, khu vực và tên của cluster mới, sau đó nhấn Create Cluster.

Sau khi được cung cấp một Cluster mới, chúng ta phải cấu hình user và địa chỉ ip để cấp quyền truy cập và thao tác với Cluster.

Để tạo một user mới cho Cluster, chúng ta chọn ‘Database Access’ nằm ở menu bên trái để vào giao diện quản lý user. Trong thẻ MongoDB Users, chọn ‘Add new user’, sau đó nhập username và mật khẩu cho user mới, chúng ta sẽ để nguyên các lựa chọn là mặc định, không thay đổi gì cả, xong rồi nhấn ‘Add user’.

Để cấu hình danh sách các địa chỉ ip được cho phép truy cập vào Cluster, chúng ta chọn ‘Network Access’ trong menu bên trái. Trong thẻ ‘IP Whitelist’, chọn ‘Add ip address’, sau đó nhập địa chỉ ip của máy hoặc server vào ‘Whitelist Entry’, chúng ta cũng có thể cho phép Cluster được truy cập bởi bất kỳ ip nào bằng cách nhấn nút ‘Allow access from anywhere’. Dòng ‘Comment’ để bạn ghi chú về thông tin của địa chỉ ip được cấp, chẳng hạn như ‘đây là địa chỉ ip của ông A’. Sau đó nhấn ‘Confirm’.

Kết nối database đến server nodejs

Sau khi đã tạo và thiết lập mongodb, chúng ta tiến hành kết nối mongodb với server nodejs mà chúng ta đã tạo ở các hướng dẫn trước.

Để có thể làm việc với mongodb, chúng ta sẽ cài đặt module ‘mongoose’ cho nodejs. Mở terminal và nhập lệnh sau:

npm i mongoose

Sau đó, trong file app.js, chúng ta sẽ import mongoose và tạo kết nối đến database.

const mongoose = require('mongoose');

// trying connect to mongodb:
mongoose.connect('mongodb+srv://dev:tianrenhaph@cluster0-sh9ao.mongodb.net/test?retryWrites=true&w=majority',
   { useNewUrlParser: true }, (err) => {
       if (err) {
           console.log('Can not connect to mongodb, because ' + err);
       }
       else {
           console.log('Connect to mongodb successful');
       }
   });

Trong tham số đầu tiên của hàm connect, chúng ta cần khai báo url của Cluster mà chúng ta muốn kết nối đến. Để lấy url của Cluster, chúng ta cần vào lại trang quản lý Cluster, nhấn vào lựa chọn ‘Clusters’ ở menu bên trái. Trong trang quản lý Cluster, nhấn nút ‘Connect’ vào Cluster mà mình muốn tạo url để kết nối.

Chọn ‘Connect your Application’, chọn môi trường phát triển, chúng sẽ chọn môi trường nodejs và phiên bản mới nhất, xong rồi nhấn nút ‘Copy’ để sao chép url vào clipboard.

Trở lại file app.js, chúng ta dán địa chỉ url vào và sửa đoạn <password> thành mật khẩu của user mà mình đã tạo lúc cài đặt database.

Cuối cùng, chạy thử server xem kết nối đến database có thành công hay không?

Trong bài viết tiếp theo, chúng ta sẽ tạo các API cho server nodejs.

Related posts

5 LÝ DO KHIẾN BẠN KHÔNG THỂ TỪ BỎ NGÀNH THƯƠNG MẠI ĐIỆN TỬ

Lập trình thay đổi CSS cho Google Form

Ứng dụng Bootstrap vào WordPress