MongoDB, cơ sở dữ liệu NoSQL phổ biến nhất là cơ sở dữ liệu định hướng tài liệu mã nguồn mở. Thuật ngữ 'NoSQL' có nghĩa là 'không liên quan'. Điều đó có nghĩa là MongoDB không dựa trên cấu trúc cơ sở dữ liệu quan hệ giống như bảng mà cung cấp một cơ chế hoàn toàn khác để lưu trữ và truy xuất dữ liệu. Định dạng lưu trữ này được gọi là BSON (tương tự như định dạng JSON). Tham khảo bài viết này
mô-đun mongodb. Mô-đun này của Nút. js được sử dụng để kết nối cơ sở dữ liệu MongoDB cũng như được sử dụng để thao tác với các bộ sưu tập và cơ sở dữ liệu trong MongoDB. mongodb. phương thức connect() được sử dụng để kết nối cơ sở dữ liệu MongoDb đang chạy trên một máy chủ cụ thể trên máy của bạn. (Tham khảo bài viết này). Chúng ta cũng có thể sử dụng các lời hứa trong phương thức này để giải quyết đối tượng chứa tất cả các phương thức và thuộc tính cần thiết cho thao tác thu thập và từ chối lỗi xảy ra trong quá trình kết nối
Hàm deleteMany() được sử dụng để xóa tất cả các tài liệu phù hợp với điều kiện khỏi bộ sưu tập. Hàm này hoạt động giống như hàm remove() nhưng nó xóa tất cả các tài liệu phù hợp với điều kiện bất kể tùy chọn duy nhất
Cài đặt mô-đun cầy mangut
- Bạn có thể truy cập liên kết để Cài đặt mô-đun cầy mangut. Bạn có thể cài đặt gói này bằng cách sử dụng lệnh này. npm install mongoose
- Sau khi cài đặt mô-đun cầy mangut, bạn có thể kiểm tra phiên bản cầy mangut của mình trong dấu nhắc lệnh bằng lệnh. npm version mongoose
- Sau đó, bạn có thể chỉ cần tạo một thư mục và thêm một tệp, ví dụ: chỉ mục. js. Để chạy tệp này, bạn cần chạy lệnh sau. node index.js
tên tệp. mục lục. js
const mongoose = require('mongoose');
// Database connection
npm version mongoose0npm version mongoose1npm version mongoose2
npm version mongoose3_______1_______4npm version mongoose5npm version mongoose6
npm version mongoose3_______1_______8npm version mongoose5npm version mongoose6
npm version mongoose3_______2_______2npm version mongoose5
node index.js4
node index.js6
node index.js7node index.js8npm version mongoose2
npm version mongoose3_______0_______1
npm version mongoose3_______0_______3
node index.js4
npm install mongoose6
npm install mongoose7
npm install mongoose8_______0_______9node index.js0
npm version mongoose3_______2_______2node index.js3);node index.js5
node index.js6node index.js7node index.js8npm install mongoose9const mongoose = require(0
npm version mongoose3_______44_______2const mongoose = require(3
node index.js4
Các bước chạy chương trình
- Cấu trúc dự án sẽ trông như thế này
- Hãy chắc chắn rằng bạn đã cài đặt mô-đun mongoose bằng lệnh sau. npm install mongoose
- Dưới đây là dữ liệu mẫu trong cơ sở dữ liệu trước khi hàm deleteMany() được thực thi, Bạn có thể sử dụng bất kỳ công cụ GUI hoặc thiết bị đầu cuối nào để xem cơ sở dữ liệu, giống như chúng tôi đã sử dụng công cụ GUI Robo3T như hình bên dưới
- Chạy chỉ mục. js bằng lệnh bên dưới. node index.js
- Sau khi chạy lệnh trên, bạn có thể thấy dữ liệu đã bị xóa khỏi cơ sở dữ liệu
Vì vậy, đây là cách bạn có thể sử dụng chức năng xóaMany() của cầy mangut để xóa nhiều tài liệu khỏi bộ sưu tập trong MongoDB và Node. js
Ngoài deleteOne(), cầy mangut còn có một phương thức khác được sử dụng rộng rãi để thực hiện thao tác xóa. Phương thức này được gọi là deleteMany() và nó được sử dụng để xóa nhiều tài liệu. Nó rất đơn giản và dễ sử dụng phương pháp. Trong bài viết này, chúng ta sẽ thảo luận về cách sử dụng phương thức deleteMany() của cầy mangut để xóa nhiều tài liệu
Chúng tôi sẽ sử dụng deleteMany() để xóa tài liệu khỏi bộ sưu tập cũi
{ "_nhận dạng". ObjectId("5db6b25b30f133b65dbbe458"), "tên". "Tối đa", "tuổi". 2, "giống". "Chăn Đức" }
{ "_nhận dạng". ObjectId("5db6b26730f133b65dbbe459"), "tên". "Tăng đột biến", "tuổi tác". 3, "giống". "Đan Mạch Vĩ Đại" }
{ "_nhận dạng". ObjectId("5db6b28d30f133b65dbbe45b"), "tên". "Romeo", "tuổi tác". 2, "giống". "Labrador" }
{ "_nhận dạng". ObjectId("5dc3e76458a113d0ebf3d488"), "tên". "Tyke", "tuổi". 4, "giống". "chó pittbull" }
{ "_nhận dạng". ObjectId("5dc3e77a58a113d0ebf3d489"), "tên". "Rambo", "tuổi tác". 3, "giống". "Labrador" }
Để thực hiện kiểm tra điểm cuối HTTP, chúng tôi sẽ sử dụng công cụ người đưa thư. Bạn có thể tải xuống công cụ đưa thư từ www. người phát thơ. com
phương thức xóaMany()
Trình xử lý tuyến sau sẽ được gọi khi điểm cuối ‘/delete’ được thực thi
bộ định tuyến. tuyến đường ("/ xóa"). xóa (hàm (req, res) {});
Phương thức deleteMany() có hai tham số bắt buộc – truy vấn và hàm gọi lại. Truy vấn khớp với các tài liệu sẽ bị xóa. Nếu chúng ta chuyển một đối tượng trống dưới dạng truy vấn thì tất cả tài liệu trong bộ sưu tập sẽ bị xóa. Hàm gọi lại có hai tham số - lỗi (nếu có) và kết quả
bộ định tuyến. tuyến đường ("/ xóa"). xóa (chức năng (req, res) {
cũi. xóaNhiều ({ giống. "Labrador" }, chức năng (err, kết quả) {
nếu (lỗi) {
độ phân giải. gửi (lỗi);
} khác {
độ phân giải. gửi (kết quả);
}
});
});
Là một truy vấn, chúng tôi đã chuyển đối tượng sau
Tất cả các tài liệu trong bộ sưu tập cũi có giá trị của trường giống là “Labrador”, sẽ bị xóa. Hãy thực hiện route bằng công cụ postman
Phương thức deleteMany() trả về một đối tượng chứa ba trường
- n – số tài liệu trùng khớp
- ok – 1 nếu thao tác thành công
- đã xóaCount – số lượng tài liệu đã xóa
Vì vậy, trong kết quả của chúng tôi, giá trị của n là 2, điều này có nghĩa là truy vấn khớp với hai tài liệu. Giá trị của DeleteCount cũng là 2, điều này có nghĩa là tất cả các tài liệu phù hợp đã được xóa thành công. Hãy xác minh bằng mongo shell
> db. cũi. tìm thấy()
{ "_nhận dạng". ObjectId("5db6b25b30f133b65dbbe458"), "tên". "Tối đa", "tuổi". 2, "giống". "Chăn Đức" }
{ "_nhận dạng". ObjectId("5db6b26730f133b65dbbe459"), "tên". "Tăng đột biến", "tuổi tác". 3, "giống". "Đan Mạch Vĩ Đại" }
{ "_nhận dạng". ObjectId("5dc3e76458a113d0ebf3d488"), "tên". "Tyke", "tuổi". 4, "giống". "chó pittbull" }
>
Đúng. từng tài liệu có giá trị của trường giống là “Labrador” bị xóa. Đây là cách phương thức deleteMany() hoạt động
Phần kết luận
Cảm ơn bạn đã tham gia với chúng tôi trong một hướng dẫn khác về Object Rocket. Chúng tôi hy vọng bạn có thể áp dụng những gì bạn đã học về cách sử dụng phương thức deleteMany của cầy mangut. Nếu bạn có bất kỳ câu hỏi nào hoặc cần trợ giúp về cơ sở dữ liệu, vui lòng liên hệ với chúng tôi