Mongodb có tốt cho nút js không?
Hầu hết tất cả các ứng dụng web hiện đại đều có một số loại hệ thống lưu trữ dữ liệu ở phần phụ trợ. Ví dụ: nếu bạn lấy trường hợp của ứng dụng mua sắm trên web, dữ liệu như giá của một mặt hàng sẽ được lưu trữ trong cơ sở dữ liệu Show
Khung Node js có thể hoạt động với cơ sở dữ liệu có cả cơ sở dữ liệu quan hệ (chẳng hạn như Oracle và MS SQL Server) và cơ sở dữ liệu không quan hệ (chẳng hạn như MongoDB). Trong hướng dẫn này, chúng ta sẽ xem cách chúng ta có thể sử dụng cơ sở dữ liệu từ bên trong các ứng dụng Node js Trong hướng dẫn này, bạn sẽ học-
Nút. js và cơ sở dữ liệu NoSQLTrong những năm qua, cơ sở dữ liệu NoSQL như MongoDB và MySQL đã trở nên khá phổ biến dưới dạng cơ sở dữ liệu để lưu trữ dữ liệu. Khả năng lưu trữ bất kỳ loại nội dung nào và đặc biệt là ở bất kỳ loại định dạng nào của các cơ sở dữ liệu này là điều làm cho các cơ sở dữ liệu này trở nên nổi tiếng Nút. js có khả năng làm việc với cả MySQL và MongoDB dưới dạng cơ sở dữ liệu. Để sử dụng một trong hai cơ sở dữ liệu này, bạn cần tải xuống và sử dụng các mô-đun cần thiết bằng trình quản lý gói Node Đối với MySQL, mô-đun bắt buộc được gọi là “mysql” và để sử dụng MongoDB, mô-đun bắt buộc phải cài đặt là “Mongoose. ” Với các mô-đun này, bạn có thể thực hiện các thao tác sau trong Node. js
Đối với các chủ đề còn lại, chúng tôi sẽ xem xét cách chúng tôi có thể làm việc với cơ sở dữ liệu MongoDB trong Node. js Sử dụng MongoDB và Nút. jsNhư đã thảo luận trong chủ đề trước, MongoDB là một trong những cơ sở dữ liệu phổ biến nhất được sử dụng cùng với Node. js Trong chương này, chúng ta sẽ thấy Cách chúng tôi có thể thiết lập kết nối với cơ sở dữ liệu MongoDB Cách chúng tôi có thể thực hiện các thao tác đọc dữ liệu thông thường từ cơ sở dữ liệu cũng như chèn, xóa và cập nhật bản ghi trong cơ sở dữ liệu MongoDB Với mục đích của chương này, giả sử rằng chúng ta có sẵn dữ liệu MongoDB bên dưới Tên cơ sở dữ liệu. nhân viênDB Tên bộ sưu tập. Nhân viên Documents { {Employeeid : 1, Employee Name : Guru99}, {Employeeid : 2, Employee Name : Joe}, {Employeeid : 3, Employee Name : Martin}, }
Bạn cần một trình điều khiển để truy cập Mongo từ bên trong ứng dụng Node. Có một số trình điều khiển Mongo có sẵn, nhưng MongoDB là một trong những trình điều khiển phổ biến nhất. Để cài đặt mô-đun MongoDB, hãy chạy lệnh bên dưới npm cài đặt mongodb
Giải thích mã
Nếu đoạn mã trên được thực thi đúng cách, chuỗi “Connected” sẽ được ghi vào giao diện điều khiển như hình bên dưới
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { var cursor = db.collection('Employee').find(); cursor.each(function(err, doc) { console.log(doc); }); }); Giải thích mã
Ghi chú. – Cũng có thể tìm nạp một bản ghi cụ thể từ cơ sở dữ liệu. Điều này có thể được thực hiện bằng cách chỉ định điều kiện tìm kiếm trong hàm find(). Ví dụ: giả sử bạn chỉ muốn tìm nạp bản ghi có tên nhân viên là Guru99, thì câu lệnh này có thể được viết như sau var cursor=db.collection('Employee').find({EmployeeName: "guru99"}) Nếu đoạn mã trên được thực thi thành công, đầu ra sau sẽ được hiển thị trong bảng điều khiển của bạn đầu ra Từ đầu ra,
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').insertOne({ Employeeid: 4, EmployeeName: "NewEmployee" }); }); Giải thích mã
Nếu bây giờ bạn kiểm tra nội dung của cơ sở dữ liệu MongoDB của mình, bạn sẽ tìm thấy bản ghi với Employeeid of 4 và EmployeeName của “NewEmployee” được chèn vào bộ sưu tập Employee Ghi chú. Bảng điều khiển sẽ không hiển thị bất kỳ đầu ra nào vì bản ghi đang được chèn vào cơ sở dữ liệu và không có đầu ra nào có thể được hiển thị ở đây Để kiểm tra xem dữ liệu đã được chèn đúng vào cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu EmployeeDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').updateOne({ "EmployeeName": "NewEmployee" }, { $set: { "EmployeeName": "Mohan" } }); }); Giải thích mã
Nếu bây giờ bạn kiểm tra nội dung của cơ sở dữ liệu MongoDB của mình, bạn sẽ tìm thấy bản ghi có Mã nhân viên là 4 và Tên nhân viên là “Mohan” được cập nhật trong bộ sưu tập Nhân viên Để kiểm tra xem dữ liệu đã được cập nhật đúng trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu EmployeeDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').deleteOne( { "EmployeeName": "Mohan" } ); }); Giải thích mã
Nếu bây giờ bạn kiểm tra nội dung của cơ sở dữ liệu MongoDB của mình, bạn sẽ thấy bản ghi có Mã nhân viên là 4 và Tên nhân viên là “Mohan” đã bị xóa khỏi bộ sưu tập Nhân viên Để kiểm tra xem dữ liệu đã được cập nhật đúng trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu EmployeeDb. Câu lệnh thứ hai tìm kiếm và hiển thị tất cả các bản ghi trong bộ sưu tập nhân viên. Tại đây bạn có thể xem bản ghi đã bị xóa hay chưa Cách xây dựng ứng dụng node express với MongoDB để lưu trữ và phân phát nội dungXây dựng ứng dụng kết hợp cả express và MongoDB hiện nay khá phổ biến Khi làm việc với các ứng dụng web dựa trên JavaScript, thông thường người ta sẽ sử dụng thuật ngữ MEAN stack ở đây
Do đó, thật tốt khi hiểu cách Node. js và MongoDB phối hợp với nhau để cung cấp các ứng dụng tương tác với cơ sở dữ liệu phụ trợ Hãy xem một ví dụ đơn giản về cách chúng ta có thể sử dụng “express” và “MongoDB” cùng nhau. Ví dụ của chúng tôi sẽ sử dụng cùng một bộ sưu tập Nhân viên trong cơ sở dữ liệu MongoDB EmployeeDB Bây giờ chúng tôi sẽ kết hợp Express để hiển thị dữ liệu trên trang web của chúng tôi khi người dùng yêu cầu. Khi ứng dụng của chúng tôi chạy trên Node. js, người ta có thể cần duyệt đến URL http. //máy chủ cục bộ. 3000/Nhân viên Khi trang được khởi chạy, tất cả id nhân viên trong bộ sưu tập Nhân viên sẽ được hiển thị. Vì vậy, hãy xem đoạn mã trong các phần sẽ cho phép chúng tôi đạt được điều này Bước 1) Xác định tất cả các thư viện cần được sử dụng trong ứng dụng của chúng tôi, trong trường hợp của chúng tôi là cả thư viện MongoDB và express Giải thích mã
Bước 2) Trong bước này, bây giờ chúng tôi sẽ lấy tất cả các bản ghi trong bộ sưu tập 'Nhân viên' của chúng tôi và làm việc với chúng cho phù hợp Giải thích mã
Bước 3) Trong bước này, chúng tôi sẽ gửi đầu ra của mình tới trang web và làm cho ứng dụng của chúng tôi lắng nghe trên một cổng cụ thể Giải thích mã
đầu ra Từ đầu ra,
Đây là mã để bạn tham khảo var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; var str = ""; app.route('/Employeeid').get(function(req, res) { MongoClient.connect(url, function(err, db) { var cursor = db.collection('Employee').find(); //noinspection JSDeprecatedSymbols cursor.each(function(err, item) { if (item != null) { str = str + " Employee id " + item.Employeeid + ""; } }); res.send(str); db.close(); }); }); var server = app.listen(3000, function() {}); Ghi chú. con trỏ. mỗi cái có thể không được dùng nữa dựa trên phiên bản trình điều khiển MongoDB của bạn. Bạn có thể thêm //noinspection JSDeprecatedSymbols trước con trỏ. mỗi người để phá vỡ vấn đề. Ngoài ra, bạn có thể sử dụng forEach. Dưới đây là mã mẫu sử dụng forEach Tại sao MongoDB tốt hơn cho NodeJS?MongoDB biểu thị dữ liệu dưới dạng một tập hợp các tài liệu thay vì các bảng được liên kết bởi các khóa ngoại . Điều này giúp các loại dữ liệu khác nhau được xử lý qua internet có thể được lưu trữ và truy cập trong các ứng dụng web bằng Node. js.
Chúng tôi có thể sử dụng MongoDB với NodeJS không?MongoDB là một nền tảng dữ liệu định hướng tài liệu đa năng, hiện đại đã được ghép nối rộng rãi với Node. js trong ngăn xếp công nghệ phổ biến như ngăn xếp MEAN (MongoDB, Express. js, AngularJS và Nút. js) và ngăn xếp MERN (MongoDB, Express.
Cơ sở dữ liệu nào là tốt nhất cho NodeJS?“Nút. js chỉ có thể được sử dụng với MongoDB (là cơ sở dữ liệu NoSQL phổ biến nhất). ”
Tôi nên sử dụng MongoDB hay MySQL với NodeJS?Nếu bạn có dữ liệu quan hệ thì MySQL là lựa chọn tốt hơn MongoDB . Đối với những thứ đơn giản, MongoDB vẫn ổn, nhưng khi cố gắng liên kết nhiều dữ liệu quan hệ lại với nhau thì MongoDB là một cơn ác mộng. |