Cài đặt project NodeJS - Mongoose• Bước 1: tạo project từ express 1.. npm install • Bước 2: cài mongoose => npm install mongoose • Bước 3: tạo dữ liệu trong mongodb... Kết nối Mongoose v
Trang 1Giới thiệu Mongoose
https://mongoosejs.com/docs/index.html
Trang 2Cài đặt project NodeJS - Mongoose
• Bước 1: tạo project từ express
1 express nodejs_mongoose -e,
2 cd nodejs_mongoose
3 npm install
• Bước 2: cài mongoose => npm install mongoose
• Bước 3: tạo dữ liệu trong mongodb
Trang 3Kết nối Mongoose và NodeJS
• Mỗi một database tạo ra thì có URL tương ứng, ví dụ:
• mongodb://localhost/mongoosedemo
• Đặt các cấu hình vào file app.js
var mongoose = require ( 'mongoose’ );
mongoose.connect( 'mongodb://localhost/test' , {useNewUrlParser: true});
Trang 4• Để kết nối đến collection ta cần tạo model riêng để dùng (quy thành schema), ta
tạo model trùng tên với collection ví dụ: collection là contact thì ta sẽ tạo model tên contact.js, tham khảo tại https://mongoosejs.com/docs/models.html
Mongoose MongoDB
Kết nối Mongoose và NodeJS (t.t)
Trang 5• Code để xem dữ liệu với Mongoose
▪ Bước 1: tạo view (*.ejs)
Kết nối Mongoose và NodeJS (t.t)
< table >
< thead >< tr >< th > Tên </ th >< th > Tuổi </ th >< th > Action </ th ></ tr ></ thead >
< tbody >
< % data.forEach(function(motphantu){ %>
< tr >< td scope=" row " > < %= motphantu.ten %> </ td >
< td > < %= motphantu.tuoi %> </ td >
< td >< a href=" /sua/<%= motphantu._id %> " >< i class=" fa fa-edit " aria-hidden=" true " ></ i ></ a >
/
< a onclick=" return xoahaykhong( ' Bạn có chắc chắn xoá không ' ) ; "
href=" /xoa/<%= motphantu._id %> " <i class=" fa fa-remove " aria-hidden=" true " ></ i ></ td >
</ tr >
< % }) %>
</ tbody >
</ table >
Trang 6• Code để xem dữ liệu với Mongoose
▪ Bước 2: tạo router (index.js) để dùng model đã tạo (contact.js)
▪ Bước 3: dùng model lấy dữ liệu và đổ vào view (dùng hàm find() )
Kết nối Mongoose và NodeJS (t.t)
router
model
Model đã export nên router dùng được
Điều kiện trong find không có tức là lấy hết tất cả dữ liệu
Trang 7Kết quả dữ liệu từ MongoDB hiển thị
Trang 8Xóa dữ liệu với Mongoose
• Bước 1: tạo view chuyển hướng để nhận vào id của phần tử cần xóa
• Bước 2: dựa vào id nhận từ bước 1 để xóa dữ liệu
/* Xoa du lieu */
router get( ' /xoa/:idcanxoa ', function ( req , res , next ) {
var id = req params idcanxoa ;
contactModel findByIdAndRemove( id ) exec() ;
res redirect( ' /xem ' ); // xóa xong chuyển về xem tiếp
} ) ;
View xem.ejs gửi id Router index.js nhận và xử lý
Trang 9Sửa dữ liệu với Mongoose
• Bước 1: tạo router, truyền vào id của phần tử cần sửa
• Bước 2: tạo view nhập thông tin cần sửa
• Bước 3: nhận thông tin sửa update vào dữ liệu
index.ejs
sua.ejs
Khi bấm vào nút sửa trên trang index.ejs, nó sẽ đẩy thông tin
hiện đang có sang trang sua.ejs (nhờ router mới làm được)
Trang 10Lấy tham số từ get ta dùng params, còn từ post ta dùng body
Trang 11Thêm mới dữ liệu với Mongoose
• Bước 1: tạo view thêm
• Bước 2: lấy dữ liệu về bằng router
• Bước 3: thêm dữ liệu vào csdl
Giao diện trang them.ejs