Ví dụ tạo kết nối với MongoDB trong NodeJS

Ví dụ tạo kết nối với MongoDB trong NodeJS là vấn đề được nhiều lập trình viên quan tâm, bởi những kiến thức trên trường lớp là không đủ, vì vậy bài Ví dụ tạo kết nối với MongoDB trong NodeJS sẽ chia sẻ tới bạn nhiều thông tin hữu ích

Mọi người vẫn hỏi tôi về việc học lập trình nói chung và NodeJS nói riêng có cần năng khiếu hay quá khó để tiếp cận hay không. Thì tôi có thể trả lời rằng, học lập trình cũng như việc bạn học tiếng Anh hay bất kỳ một ngôn ngữ khác, bởi lập trình...là ngôn ngữ của máy tính, để máy tính đọc và máy tính thực hiện theo yêu cầu của mình, bạn thích là học được.

Trong bài này chúng ta sẽ đi tìm hiểu về cách kết nối với cơ sỡ dữ liệu MongoDB trong NodeJS, để có thể làm việc với hệ quản trị cơ sở dữ liệu MongoDB trên NodeJS, mình sẽ sử dụng module mongoose trong tất cả bài viết trong series.

1. Khởi tạo MongoDB Server

Trước tiên, để có thể kết nối với NodeJS bạn cần phải có một MongoDB Server, bạn có thể cài đặt trực tiếp (local MongoDB) trên máy hoặc sử dụng MongoDB Server Cloud, trong bài này mình sẽ hướng dẫn cài đặt cloud MongoDB.

Để tạo môt Cloud MongoDB bạn truy cập địa chỉ: https://www.mongodb.com/atlas-signup-from-mlab và đăng nhập, ngoài ra còn rất nhiều trang cung cấp cloud MongoDB miễn phí như : MLab,...

Tiếp theo bạn chọn Plan mà bạn muốn dùng, ở đây mình dùng bản Free vì mục đích chính chỉ là học tập.

Tỉnh chỉnh các options sau đó click chọn Create Cluster như hình:

Đợi quá trình khởi tạo thành công, sau đó click Connect , và tạo user dùng để kết nối.

Lúc này, chúng ta có thể kết nối với Cluster bằng chuỗi kết nối hiển thị. Bạn nhớ thay username và password trước khi kết nối nha.

  mongodb+srv://<username>:<password>@cluster0-glouf.mongodb.net/test?retryWrites=true&w=majority 

2. Cài đặt MongoDB Driver

Để có thể thao tác với MongoDB trong NodeJS bạn cần phải cài đặt thêm driver, thông thường thì bạn sẽ phải cài thêm module có tên mongodb nhưng trong seri này mình sẽ dùng module mongoose, nó được xây dựng dựa trên module mongodb nhưng việc thao tác đơn giản hơn nhiều, không cần quá nhiều câu lệnh phức tạp.

Mongoose là module viết dựa trên JavaScript và được sử dụng nó rất nhiều trong một ứng dụng Node.js, nó là một Object Data Modeling (ODM) cho MongoDB và NodeJS . Nếu bạn đã cài đặt NodeJS, bạn có thể chuyển sang bước tiếp theo. Nếu bạn chưa cài đặt Node.js, hãy tham khảo seri NodeJS căn bản của Hoidapcode rồi tiếp tục nhé !

Để cài đặt mongoose bạn tiến hành mở terminal lên và gõ dòng lệnh:

  npm i --save mongoose 

Mongoose cung cấp một giải pháp dựa trên lược đồ đơn giản để mô hình hóa dữ liệu ứng dụng của bạn. Nó bao gồm các khuân mẫu tích hợp, xác thực, xây dựng truy vấn, logic dữ liệu.

3. Kết nối với MongoDB trong NodeJS

Dưới đây là một số phương thức được sử dụng để kết nối với MongoDB trong module mongoose:

Kết nối với MongoDB:

Để kết nối với MongoDB từ Node.js bằng module mongoose, hãy gọi phương thức connect(), trên biến tham chiếu đến mongoose, với URI cơ sở dữ liệu MongoDB được truyền làm đối số cho hàm.

  var mongoose = require('mongoose');  
mongoose.connect(uriConnect, [, options]); 

Ở đây chúng ta sẽ có 2 tham số có thể truyền vào:

  • urlConnect: url kết nối với MongoDB.
  • options: một object chứa các tinh chỉnh tùy chọn.

Ví dụ trong file app.js chúng ta kết nói với MongoDB ta thực hiện như sau:

  var mongoose = require('mongoose'); 
 mongoose.connect('mongodb://localhost:27017/Hoidapcode', 
{useNewUrlParser: true, useNewUrlParser: true,  useUnifiedTopology: true});   

Ngoài ra, để xem các tinh chỉnh của mongoose sau khi kết nối, chúng ta dùng phương thức connection()

  var db = mongoose.connection;   

Error Handling

Trong một số trường hợp nào đó mà việc kết nối giữa server NodeJS và MongoseDB gặp vấn đề thì bạn có thể lỗi bằng cách bắt sự kiện error trong phương thức mongoose.connection():

Khi kết nối được thực hiện mà không có bất kỳ lỗi nào và thành công, callback function được gọi trong db.open (‘open', [callback_function]) sẽ được thực thi.

Ở đây mình có file app.js có nội dung như sau:

 var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/Hoidapcode', {useNewUrlParser: true, useNewUrlParser: true,  useUnifiedTopology: true});
var db = mongoose.connection;
//Bắt sự kiện error
db.on('error', function(err) {
  if (err) console.log(err)
});
//Bắt sự kiện open
db.once('open', function() {
  console.log("Kết nối thành công !");
});

Để chạy chúng ta mở terminal lên và gõ dòng lệnh :

  node app 

Đây là kết quả khi kết nối thành công.

Trong bài viết này chúng mình đã cùng nhau đi tìm hiểu về cách kết nối với MongoDB trong Nodejs sử dụng module mongoose. Trong bài viết tiếp theo chúng mình sẽ cùng nhau đi tìm hiểu về các phương thức thao tác với cơ sở dữ liệu MongoDB. Cảm ơn bạn đã đọc bài viết.

Hy vọng với bài viết về Ví dụ tạo kết nối với MongoDB trong NodeJS đã giải đáp giúp bạn phần nào về kiến thức lập trình NodeJS. Như tôi đã nói, ngôn ngữ lập trình không quan trọng bằng tư duy giải thuật, tư duy logic để giải quyết vấn đề.

Với những năm trước đây, lập trình viên là một cái nghề khó và kén chọn người học, đồng nghĩa với việc thu nhập hàng tháng của các lập trình viên luôn cao. Còn những năm gần đây, thì lập trình là môn học phổ thông, và ai cũng nên học một ngôn ngữ lập trình nào đó.

Nếu bạn còn bất kỳ câu hỏi nào trong việc học lập trình online, hãy gửi yêu cầu cho tôi qua email hoidapcode.com@gmail.com hoặc để lại comment bên dưới, tôi sẽ giải đáp trong vòng 24 giờ!

Blog hoidapcode.com là blog được tổng hợp tự động các bài học, thông tin về lập trình trên mạng internet. Nếu bạn có ý kiến hoặc đóng góp về bài viết này, hãy liên hệ với tôi!