peri hokiperihokiclarustologisticsrimashaop.comangelpaintingtools.co.invrjanaenergies.comgates of olympus perihoki jadi mesin uang paling gacortrik main baccarat perihoki ala pro bikin pemula jadi jutawanpantang pulang sebelum jackpot main dadu sicbo perihokipgsoft mahjong ways 2 muncul scatter merah tiap spin perihokicara menciptakan akun perihokigacor mahjong wins 3jackpot kembar mahjong wins 3 abc1131cara menang stabil rtp mahjong ways abc1131bu nurlina menang 197 juta mahjong ways 2mahasiswa cuan 421 juta karena pola mahjongpemilik warung menang 128 juta mahjong wins 3strategi bravy erika mahjong abc1131 terungkappemuda jambi taklukkan mahjong wins 3penjual jamu menang besar mahjong wins 5pemuda kampung raup 180 juta mahjong wayskisah inspiratif petani mahjong ways keberhasilanmahasiswa menang 92 juta mahjong waysmodal warung kopi bang ojak sukses mahjong waystanpa modal maxwin mahjong wins 3 strategibocoran mahjong ways spin kombinasicara bermain mahjong untuk meraih keberuntungankeajaiban mahjong kasir indomaret sukses beli tanahmeraup keuntungan maksimal di mahjong winsid rahasia scatter hitamid pola scatterid jackpot mahjong waysid spin mahjong winsid tips jitu mahjongrahasia kemenangan mahjong ways spin slow

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Cannot change save handler when headers already sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Cannot start session when headers already sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

Kết nối với MongoDB trong NodeJS - Freetuts
CĂN BẢN
SERVER
MYSQL
MONGODB
MODULE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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,...

mongodb nodejs login png

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.

Bài viết này được đăng tại [free tuts .net]

mongodb nodejs login 1 png

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

mongodb nodejs login 2 png

Đợ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.

mongodb nodejs login 3 png

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 Freetuts 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/freetuts', {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/freetuts', {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.

mongodb nodejs login 4 png

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.

Cùng chuyên mục:

Cách gửi mail trong NodeJS có file đính kèm

Cách gửi mail trong NodeJS có file đính kèm

Crawl dữ liệu website bằng NodeJS cơ bản

Crawl dữ liệu website bằng NodeJS cơ bản

CORS là gì ? Xử lý CORS trong NodeJS

CORS là gì ? Xử lý CORS trong NodeJS

Chắc hẳn trong quá trình xử lý các request tới server thì một vài trường…

Xử lý form trong Express

Xử lý form trong Express

Xây dựng URL trong Express

Xây dựng URL trong Express

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách xây…

Populate trong Mongoose

Populate trong Mongoose

Error Handling & Debugging trong Socket.io

Error Handling & Debugging trong Socket.io

Namespaces & Rooms trong Socket.io

Namespaces & Rooms trong Socket.io

Middleware trong Mongoose

Middleware trong Mongoose

Create / Read / Update / Delete trong Mongoose

Create / Read / Update / Delete trong Mongoose

Validation trong Mongoose

Validation trong Mongoose

Subdocuments trong Mongooose

Subdocuments trong Mongooose

Documents trong Mongoose

Documents trong Mongoose

Trong bài viết này chúng ta sẽ tìm hiểu về documents trong Mongoose

Models trong Mongoose

Models trong Mongoose

SchemaTypes trong Mongoose

SchemaTypes trong Mongoose

Schemas trong Mongoose

Schemas trong Mongoose

Mongoose trong NodeJS

Mongoose trong NodeJS

Làm việc với Table MySQL sử dụng Nodejs

Làm việc với Table MySQL sử dụng Nodejs

Giới thiệu MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Insert / Update / Delete / Select MySQL trong NodeJS

Insert / Update / Delete / Select MySQL trong NodeJS

Top