Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?

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

  1. 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
  2. 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
  3. 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 mongoose
0
npm version mongoose
1
npm version mongoose
2

npm version mongoose
3_______1_______4
npm version mongoose
5
npm version mongoose
6

npm version mongoose
3_______1_______8
npm version mongoose
5
npm version mongoose
6

npm version mongoose
3_______2_______2
npm version mongoose
5

node index.js
4

 

node index.js
6

node index.js
7
node index.js
8
npm version mongoose
2

npm version mongoose
3_______0_______1

npm version mongoose
3_______0_______3

node index.js
4

 

npm install mongoose
6

npm install mongoose
7

npm install mongoose
8_______0_______9
node index.js
0

npm version mongoose
3_______2_______2
node index.js
3);
node index.js
5

node index.js
6
node index.js
7
node index.js
8
npm install mongoose
9const mongoose = require(0

npm version mongoose
3_______44_______2const mongoose = require(3

node index.js
4

Các bước chạy chương trình

  1. Cấu trúc dự án sẽ trông như thế này
    Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?
  2. Hãy chắc chắn rằng bạn đã cài đặt mô-đun mongoose bằng lệnh sau.
    npm install mongoose
  3. 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
    Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?
  4. Chạy chỉ mục. js bằng lệnh bên dưới.
    node index.js

    Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?

  5. 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
    Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?

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

Làm cách nào để xóa nhiều tài liệu trong MongoDB cầy mangut?

Phương thức deleteMany() trả về một đối tượng chứa ba trường

  1. n – số tài liệu trùng khớp
  2. ok – 1 nếu thao tác thành công
  3. đã 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

Làm cách nào để xóa nhiều tài liệu trong Mongoose?

Hàm deleteMany() là cách bạn có thể xóa nhiều tài liệu khỏi bộ sưu tập bằng Mongoose. Phải mất đến hai tham số. điều kiện, tài liệu phải chứa những gì để đủ điều kiện xóa. Bạn có thể bỏ qua thuộc tính này để xóa tất cả các tài liệu trong mô hình.

Làm cách nào để xóa tất cả tài liệu trong Mongoose?

Cầy mangut. hàm xóaMany() . 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. The deleteMany() function is used to delete all of the documents that match conditions from the collection. This function behaves like the remove() function but it deletes all documents that match conditions regardless of the single option.

Làm cách nào để xóa tất cả tài liệu khỏi bộ sưu tập trong MongoDB?

Để xóa tất cả tài liệu khỏi bộ sưu tập, chuyển tài liệu bộ lọc trống {} vào db. bộ sưu tập. phương thức xóaMany() . Phương thức trả về một tài liệu với trạng thái hoạt động.

Làm cách nào để xóa nhiều id trong Mongoose?

Phương thức deleteMany() rất hữu ích. Sử dụng nó sẽ toán tử $in rất hiệu quả. Mặc dù các giá trị của _id là duy nhất cho mỗi tài liệu trong một bộ sưu tập nhưng việc sử dụng phương thức deleteMany() với toán tử $in giúp có thể xóa nhiều tài liệu theo id.