Cách sử dụng MongoDB với Node JS
Nút. js là mã nguồn mở và hoàn toàn miễn phí—hàng nghìn nhà phát triển trên khắp thế giới sử dụng nó hàng ngày. Họ sử dụng nó để phát triển các ứng dụng web chuyên sâu I/O, chẳng hạn như các trang web phát video, ứng dụng một trang, ứng dụng trò chuyện trực tuyến và tất cả các loại ứng dụng web khác. Được xây dựng trên môi trường thời gian chạy dựa trên JavaScript của Google Chrome, Node. js mang lại nhiều lợi thế cho bảng, khiến nó trở thành lựa chọn tốt hơn so với các nền tảng phía máy chủ khác, như Java hoặc PHP. Show
nút này. js Hướng dẫn MongoDB sẽ giúp bạn tìm hiểu cách kết nối máy chủ web của bạn với cơ sở dữ liệu. Đầu tiên, chúng ta sẽ tìm hiểu các khái niệm cơ bản về MongoDB, sau đó chúng ta sẽ tạo ứng dụng web của mình. Ứng dụng sẽ cho phép chúng tôi thêm, chỉnh sửa và xóa sinh viên trong cơ sở dữ liệu MongoDB và hiển thị danh sách sinh viên trong cơ sở dữ liệu trên trình duyệt MongoDB là gì?
MongoDB hoạt động chủ yếu trên hai khái niệm sau thu thậpMột bộ sưu tập là một nhóm các tài liệu MongoDB; . Thông thường, tất cả các tài liệu trong một bộ sưu tập đều có mục đích giống nhau Tài liệuTài liệu là một tập hợp các cặp khóa-giá trị. Các tài liệu có lược đồ động, nghĩa là các tài liệu trong cùng một bộ sưu tập không cần phải có cùng một nhóm trường hoặc cấu trúc. Các trường phổ biến trong tài liệu của bộ sưu tập có thể chứa các loại dữ liệu khác nhau Tại sao kết nối Node. js với MongoDB?Tất cả các ứng dụng hiện đại đều dựa trên dữ liệu lớn, phát triển tính năng nhanh và triển khai linh hoạt. Cơ sở dữ liệu truyền thống và hỗ trợ các yêu cầu này. Nhập MongoDB Tạo cơ sở dữ liệu MongoDB trong nút. jsĐể tạo cơ sở dữ liệu trong Node. js MongoDB
Xây dựng hệ thống quản lý sinh viênNút. cài đặt js1. Tải xuống nút. js từ https. //nodejs. org/vi/tải xuống/. Chọn trình cài đặt theo hệ điều hành và môi trường của bạn Quả sung. Nút. trang tải js 2. Chạy nút. js và chấp nhận thỏa thuận cấp phép. Bạn có thể để các cài đặt khác như mặc định. Trình cài đặt sẽ cài đặt Node. js và nhắc bạn nhấp vào nút kết thúc Quả sung. Nút. thiết lập js 3. Xác minh rằng nút. js đã được cài đặt đúng cách bằng cách mở dấu nhắc lệnh và gõ lệnh này. nút --version Quả sung. Nút. xác minh js 4. Khi chúng tôi cài đặt Node. js, NPM (Trình quản lý gói nút) cũng được cài đặt. NPM bao gồm nhiều thư viện được sử dụng trong các ứng dụng web, chẳng hạn như React. Xác minh xem nó đã được cài đặt hay chưa bằng lệnh sau trong CMD. npm --version Quả sung. xác minh NPM soạn thảo văn bảnCài đặt trình soạn thảo văn bản bạn chọn. Chúng tôi đang sử dụng Visual Studio Code trong hướng dẫn này, nhưng bạn cũng có thể sử dụng các trình chỉnh sửa khác—như Atom và Sublime Text—nếu bạn cảm thấy thoải mái hơn với những trình soạn thảo đó Quả sung. Trang tải xuống mã Visual Studio Cài đặt MongoDBTương tự với Node. js, bạn có thể tải xuống MongoDB Community Server từ trang web chính thức của nó. Sau đó, mở trình cài đặt và giữ cài đặt mặc định để cài đặt MongoDB trên hệ thống của bạn. Ghi chú. MongoDB Compass cũng sẽ được cài đặt trong quá trình này, sau này chúng tôi sẽ sử dụng để kiểm tra trạng thái cơ sở dữ liệu của mình Thiết lập dự án
Quả sung. Dự án mã VS Hãy viết mã ngay bây giờChúng tôi sẽ tạo Nút của chúng tôi. Hệ thống quản lý sinh viên dựa trên js. Ứng dụng này sẽ cho phép người dùng kết nối với cơ sở dữ liệu MongoDB để họ có thể tạo, cập nhật hoặc xóa hồ sơ sinh viên khi cần Để cung cấp cho bạn ý tưởng về những gì chúng tôi đang cố gắng đạt được và trước quy trình làm việc của dự án sẽ như thế nào, hãy tham khảo hình ảnh bên dưới. Các thành phầnngười phục vụ. jsTạo một tệp có tên máy chủ. js trong thư mục dự án. Tệp này trong ứng dụng của chúng tôi đóng vai trò là máy chủ chính—nơi chúng tôi kết nối nó với các tệp khác trong dự án này // Nút. máy chủ js MongoDB yêu cầu(". /mô hình/db"); const express = yêu cầu ("bày tỏ"); const đường dẫn = yêu cầu ("đường dẫn"); const handleBars = require("tay lái"); const exphbs = require("tay lái nhanh"); hăng sô { allowInsecurePrototypeAccess } = yêu cầu("@tay lái/cho phép truy cập nguyên mẫu"); const bodyparser = require("body-parser"); const studentController = require(". /bộ điều khiển/studentController"); ứng dụng var = express(); ứng dụng. sử dụng (bodyparser. được mã hóa url ({ đã mở rộng. thật })); ứng dụng. sử dụng (bodyparser. json()); ứng dụng. get("/", (req, res) => { độ phân giải. gửi(` Chào mừng đến với Cơ sở dữ liệu sinh viên.
Click here to get access to the Database`);}); ứng dụng. set("lượt xem", đường dẫn. tham gia (__dirname, "/ lượt xem /")); ứng dụng. động cơ( "hbs", exphbs({ tay lái. allowInsecurePrototypeAccess(handleBars), tên phụ. "hbs", bố cục mặc định. "bố cục chính", bố tríDir. __dirname + "/views/layouts/" }) ); ứng dụng. set("công cụ xem", "hbs"); ứng dụng. nghe (3000, () => { bảng điều khiển. log("Máy chủ tốc hành đã khởi động tại cổng. 3000"); }); ứng dụng. sử dụng("/sinh viên", studentController);
db. jsTệp này được sử dụng để kết nối ứng dụng với cơ sở dữ liệu MongoDB. Đối với điều này, trước tiên hãy tạo một thư mục và đặt tên là models. Trong thư mục đó, tạo một tệp mới có tên db. js. Có thể có một số mục bị thiếu trong thư mục gốc—đây chỉ là quy ước mà các ứng dụng web tuân theo để tăng khả năng đọc và sử dụng lại mã const cầy mangut = require("cầy mangut"); cầy mangut. liên kết( "mongodb. //máy chủ cục bộ. 27017/StudentDB", { sử dụngNewUrlParser. thật }, sai => { nếu (. sai) { bảng điều khiển. log("Kết nối thành công"); } khác { bảng điều khiển. log("Lỗi kết nối. " + lỗi); } } ); yêu cầu(". /sinh viên. kiểu mẫu");
sinh viên. kiểu mẫu. jsBây giờ, hãy xác định lược đồ sinh viên cho cơ sở dữ liệu trong tệp này const cầy mangut = require("cầy mangut"); var studentSchema = cầy mangut mới. Lược đồ({ Họ và tên. { loại. Chuỗi, cần thiết. 'Trường này là bắt buộc' }, e-mail. { loại. Chuỗi, cần thiết. 'Trường này là bắt buộc' }, di động. { loại. Con số, cần thiết. 'Trường này là bắt buộc' }, thành phố. { loại. Chuỗi, cần thiết. 'Trường này là bắt buộc' } }); cầy mangut. model("Sinh viên", studentSchema);
sinh viênđiều khiển. jsBộ điều khiển nhận các yêu cầu của người dùng và chuyển chúng thành các hành động mà mô hình sẽ thực hiện. Sau đó, nó chọn chế độ xem thích hợp để xử lý phản hồi Hãy tạo một thư mục mới và đặt tên là bộ điều khiển. Trong thư mục đó, tạo một tệp mới và đặt tên là studentController. js const express = yêu cầu ("bày tỏ"); bộ định tuyến var = express. Bộ định tuyến(); const cầy mangut = require("cầy mangut"); const Sinh viên = cầy mangut. học sinh gương mẫu"); bộ định tuyến. get("/", (req, res) => { độ phân giải. kết xuất ("sinh viên/addOrEdit", { xemTiêu đề. "Chèn sinh viên" }); }); bộ định tuyến. bài đăng("/", (req, res) => { nếu (yêu cầu. thân thể. _id == "") { insertRecord(req, res); } khác { updateRecord(req, res); } });
hàm insertRecord(req, res) { var sinh viên = sinh viên mới(); sinh viên. fullName = req. thân thể. Họ và tên; sinh viên. email = yêu cầu. thân thể. e-mail; sinh viên. di động = yêu cầu. thân thể. di động; sinh viên. thành phố = yêu cầu. thân thể. thành phố; sinh viên. lưu ((err, doc) => { nếu (. sai) { độ phân giải. redirect("sinh vien/danh sach"); } khác { bảng điều khiển. log("Lỗi khi chèn. " + lỗi); } }); }
chức năng updateRecord(req, res) { Sinh viên. findOneAndUpdate( { _Tôi. yêu cầu. thân thể. _Tôi }, yêu cầu. thân thể, { Mới. thật }, (err, doc) => { nếu (. sai) { độ phân giải. redirect("sinh vien/danh sach"); } khác { bảng điều khiển. log("Lỗi khi cập nhật. " + lỗi); } } ); }
bộ định tuyến. get("/list", (req, res) => { Sinh viên. tìm ((err, tài liệu) => { nếu (. sai) { độ phân giải. render("sinh vien/danh sach", { danh sách. tài liệu }); } khác { bảng điều khiển. log("Lỗi khi truy xuất. " + lỗi); } }); });
bộ định tuyến. được("/. id", (req, res) => { Sinh viên. findById(yêu cầu. thông số. id, (err, doc) => { nếu (. sai) { độ phân giải. kết xuất ("sinh viên/addOrEdit", { xemTiêu đề. "Cập nhật sinh viên", sinh viên. tài liệu }); bảng điều khiển. nhật ký (tài liệu); } }); });
bộ định tuyến. lấy("/xóa/. id", (req, res) => { Sinh viên. findByIdAndRemove(req. thông số. id, (err, doc) => { nếu (. sai) { độ phân giải. redirect("/sinh vien/danh sach"); } khác { bảng điều khiển. log("Lỗi khi xóa. " + lỗi); } }); }); mô-đun. xuất khẩu = bộ định tuyến;
bố cục chính. hbsTệp HBS là một mẫu mà Tay lái tạo, là một hệ thống mẫu web. Trong tệp này, chúng tôi thêm một mẫu được viết bằng mã HTML, sau đó nhúng mẫu đó với các biểu thức Tay lái Tệp này sẽ hoạt động như một thùng chứa bố cục cho giao diện người dùng ứng dụng Đầu tiên, tạo một thư mục mới và đặt tên là layouts. Trong thư mục đó, tạo một tệp mới và đặt tên tệp là mainLayout. hbs <. LOẠI TÀI LIỆU html> <đầu>
vẹn="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> #hộp { màu nền. #ffff; lề trên. 25px; đệm. 20px; -webkit-box-shadow. 10px 10px 20px 1px rgba(0, 0, 0, 0. 75); -moz-box-shadow. 10px 10px 20px 1px rgba(0, 0, 0, 0. 75); bóng hộp. 10px 10px 20px 1px rgba(0, 0, 0, 0. 75); bán kính đường viền. 10px 10px 10px 10px; -moz-biên giới-bán kính. 10px 10px 10px 10px; -webkit-biên giới-bán kính. 10px 10px 10px 10px; ranh giới. 0px rắn #000000; }
{{{thân thể}}} |