MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB remove ()

Trong MongoDB, db.collection.remove() phương pháp xóa tài liệu khỏi bộ sưu tập. Nói cách khác, nó sẽ xóa chúng.

Bộ sưu tập collection một phần là tên của bộ sưu tập để xóa tài liệu khỏi đó.

Bạn có thể xóa tất cả tài liệu, một số tài liệu hoặc một tài liệu duy nhất theo yêu cầu.

Xóa tất cả tài liệu

Trong ví dụ này, chúng tôi xóa tất cả tài liệu khỏi bộ sưu tập có tên là employees :

db.employees.remove({})

Kết quả:

WriteResult({ "nRemoved" : 5 })

Kết quả cho chúng tôi thấy rằng năm tài liệu đã bị xóa.

Xóa các tài liệu đã chọn

Trong ví dụ này, chúng tôi chỉ xóa một số tài liệu.

Trước tiên, hãy điền lại bộ sưu tập nhân viên của chúng tôi:

db.employees.insertMany([
    { _id: 1, name: "Sandy", salary: 55000 },
    { _id: 2, name: "Sarah", salary: 128000 },
    { _id: 3, name: "Fritz", salary: 25000 },
    { _id: 4, name: "Chris", salary: 45000 },
    { _id: 5, name: "Beck", salary: 82000 }
    ])

Bây giờ, hãy xóa tất cả những nhân viên kiếm được hơn 80.000 mỗi năm.

db.employees.remove({ "salary": { $gt: 80000 } })

Kết quả:

WriteResult({ "nRemoved" : 2 })

Lần này chỉ có hai tài liệu bị xóa.

Hãy xem bộ sưu tập.

db.employees.find()

Kết quả:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Đúng như dự đoán, hai người có mức lương cao nhất đã rời công ty.

Xóa một tài liệu

Có một số cách để xóa một tài liệu khỏi bộ sưu tập. Phương pháp bạn sử dụng sẽ phụ thuộc vào những gì bạn cần làm.

Bạn có thể:

  • Xóa một tài liệu cụ thể
  • Sử dụng justOne tham số

Xóa một tài liệu cụ thể

Nếu bạn cần xóa một tài liệu cụ thể, bạn có thể chỉ định _id của tài liệu đó giá trị để loại bỏ tài liệu cụ thể đó.

Vì vậy, nếu chúng tôi muốn xóa say, Fritz khỏi bộ sưu tập ở trên, chúng tôi có thể chỉ định _id của anh ấy giá trị của 3 . Như thế này:

db.employees.remove({ "_id": 3 })

Kết quả:

WriteResult({ "nRemoved" : 1 })

Và hãy kiểm tra lại bộ sưu tập:

db.employees.find()

Kết quả:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Đúng như dự đoán, Fritz giờ đã biến mất.

Sử dụng justOne Tham số

Ngoài ra, bạn có thể sử dụng justOne để giới hạn việc loại bỏ chỉ một tài liệu. Thao tác này sẽ xóa tài liệu đầu tiên phù hợp với tiêu chí xóa.

Để chứng minh quan điểm này rõ ràng nhất có thể, hãy xóa tất cả các tài liệu còn lại khỏi bộ sưu tập và sau đó sao chép lại:

db.employees.remove({})
db.employees.insertMany([
    { _id: 1, name: "Sandy", salary: 55000 },
    { _id: 2, name: "Sarah", salary: 128000 },
    { _id: 3, name: "Fritz", salary: 25000 },
    { _id: 4, name: "Chris", salary: 45000 },
    { _id: 5, name: "Beck", salary: 82000 }
    ])

OK, vì vậy chúng tôi biết rằng có năm tài liệu trong bộ sưu tập của chúng tôi.

Bây giờ hãy sử dụng justOne để xóa một tài liệu.

db.employees.remove({}, "justOne: true")

Kết quả:

WriteResult({ "nRemoved" : 1 })

Và hãy kiểm tra bộ sưu tập để xem tài liệu nào đã bị xóa.

db.employees.find()

Kết quả:

{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Như mong đợi, tài liệu đầu tiên đã bị xóa.

justOne tham số cũng có một cú pháp khác. Bạn cũng có thể sử dụng nó bên trong tài liệu. Bạn sẽ cần làm điều này nếu bạn định chuyển các đối số khác cho phương thức.

Đây là một ví dụ.

db.employees.remove(
    {}, 
    {
        justOne: true,
        writeConcern: { w: "majority", wtimeout: 3000 },
        collation: { locale: "de", strength: 1 }
    }
)

Kết quả:

WriteResult({ "nRemoved" : 1 })

Và hãy cùng nhìn lại bộ sưu tập

db.employees.find()

Kết quả:

{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Như mong đợi, tài liệu tiếp theo đã bị xóa.

Thông tin thêm

Xem tài liệu MongoDB để biết thêm thông tin.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách kích hoạt các truy vấn MongoDB thô trực tiếp trong Ruby

  2. Làm cách nào chúng ta có thể tạo trường được tạo Tự động cho mongodb bằng cách sử dụng khởi động mùa xuân

  3. Các truy vấn tổng hợp trung bình trong Meteor

  4. 2 cách nối giá trị vào một mảng trong MongoDB

  5. Làm thế nào để bạn đặt một tệp hình ảnh trong một đối tượng json?