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

MongoDB deleteOne ()

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

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 đó.

Ví dụ

Hãy điền vào một bộ sưu tập có tên là employees với năm tài liệu:

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 sử dụng db.collection.deleteOne() để xóa một trong những tài liệu đó.

db.employees.deleteOne({ "_id": 4 })

Kết quả:

{ "acknowledged" : true, "deletedCount" : 1 }

Số nhân viên bị xóa này là 4.

Hãy xem bộ sưu tập để xác minh.

db.employees.find()

Kết quả:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Chúng tôi có thể thấy rằng nhân viên số 4 không còn tồn tại trong bộ sưu tập.

Sử dụng Điều kiện Rộng hơn

Trong ví dụ trước, chúng tôi đã sử dụng _id của nhân viên mà chúng tôi muốn xóa. Vì _id trường là số nhận dạng duy nhất cho mỗi tài liệu, điều này cho phép chúng tôi xóa tài liệu chính xác mà chúng tôi muốn xóa.

Cũng có thể xóa một tài liệu mà không cần biết chính xác tài liệu nào sẽ bị xóa. Ví dụ:bạn có thể sử dụng bộ lọc rộng trả về nhiều tài liệu, nhưng chỉ xóa tài liệu đầu tiên khỏi các kết quả đó.

Ví dụ:chúng tôi có thể lọc theo nhân viên kiếm được hơn 80.000 mỗi năm, sau đó xóa tài liệu đầu tiên trong nhóm đó.

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

Kết quả:

{ "acknowledged" : true, "deletedCount" : 1 }

Trong ví dụ này, chỉ một tài liệu bị xóa, mặc dù có hai tài liệu phù hợp với tiêu chí.

Chúng ta có thể xem qua bộ sưu tập để biết bộ sưu tập nào đã bị xóa.

db.employees.find()

Kết quả:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Chúng tôi thậm chí có thể tiến thêm một bước nữa và xóa tất cả các bộ lọc, có nghĩa là bộ lọc sẽ chọn từ tất cả các tài liệu trong bộ sưu tập.

db.employees.deleteOne({})

Kết quả:

{ "acknowledged" : true, "deletedCount" : 1 }

Một lần nữa, chúng tôi có thể kiểm tra bộ sưu tập để xem bộ sưu tập nào đã bị xóa.

db.employees.find()

Kết quả:

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

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

Thông tin thêm

db.collection.deleteOne() phương thức cũng chấp nhận các tham số tùy chọn như collation , hintwriteConcern .

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. giải thích () trong Mongodb:sự khác biệt giữa nscanned và nscannedObjects

  2. thứ tự sắp xếp mongodb trên _id

  3. Cách cập nhật nhiều phần tử mảng trong mongodb

  4. Tạo trường autoincrement duy nhất với mongoose

  5. Xóa một tài liệu con được lồng trong một mảng trong MongoDB