MongoDB xóa bởi _id

Sử dụng phương pháp

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
1 để xóa các tài liệu đầu tiên khớp với tiêu chí lọc đã chỉ định trong bộ sưu tập

cú pháp

db.collection.deleteOne(filter, options)

Thông số

  1. lọc. Tiêu chí lựa chọn cho bản cập nhật, giống như phương thức find()
  2. tùy chọn. Không bắt buộc. Có thể chứa các tùy chọn cho hành vi cập nhật. Nó bao gồm các tham số writeConcern, đối chiếu và gợi ý

Trong cú pháp trên,

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
2 trỏ đến cơ sở dữ liệu hiện tại,
db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
3 điểm là tên bộ sưu tập hiện có

Để minh họa thao tác xóa, hãy chèn các tài liệu mẫu sau vào bộ sưu tập

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
4

Dữ liệu mẫu

Sao chép

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])

Sau đây xóa một tài liệu từ bộ sưu tập

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
4

Ví dụ. Xóa một tài liệu bằng cách sử dụng deleteOne()

Sao chép

db.employees.deleteOne({ salary:7000 }) 

đầu ra

________số 8

Lệnh trên xóa tài liệu phù hợp đầu tiên ngay cả khi nhiều tài liệu phù hợp với tiêu chí đã chỉ định

xóaMany()

Sử dụng phương pháp

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
6 để xóa tất cả các tài liệu phù hợp với tiêu chí lọc được chỉ định trong bộ sưu tập

cú pháp

db.collection.deleteOne(filter, options)
0

Thông số

  1. lọc. Tiêu chí lựa chọn cho bản cập nhật, giống như phương thức find()
  2. tùy chọn. Không bắt buộc. Có thể chứa các tùy chọn cho hành vi cập nhật. Nó bao gồm writeConcern và đối chiếu, và các tham số gợi ý

Thao tác sau xóa tất cả các tài liệu khỏi bộ sưu tập

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        email: "[email protected]",
        salary: 5000
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        email: "[email protected]",
        salary: 8000
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        email: "[email protected]",
        salary: 7500
    },
    { 
        _id:4,
        firstName: "Steve",
        lastName: "J",
        email: "[email protected]",
        salary: 7000
    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        email: "[email protected]",
        salary: 4500
    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        email: "[email protected]",
        salary: 7000
    }
])
4 phù hợp với tiêu chí đã chỉ định

Chúng tôi có thể xóa _id trong MongoDB không?

Không, bạn không thể xóa chỉ mục _id mặc định .

Làm cách nào để xóa bản ghi theo id trong MongoDB?

Để xóa một bản ghi hoặc tài liệu như nó được gọi trong MongoDB, chúng ta sử dụng phương thức deleteOne() . Tham số đầu tiên của phương thức deleteOne() là đối tượng truy vấn xác định tài liệu nào cần xóa. Ghi chú. Nếu truy vấn tìm thấy nhiều tài liệu, thì chỉ lần xuất hiện đầu tiên bị xóa.

_id trong MongoDB là gì?

Theo mặc định, MongoDB tạo một chỉ mục duy nhất trên trường _id trong quá trình tạo bộ sưu tập. Trường _id luôn là trường đầu tiên trong tài liệu . Nếu máy chủ nhận tài liệu không có trường _id trước thì máy chủ sẽ chuyển trường này về đầu.

_id có bắt buộc trong MongoDB không?

Một trường bắt buộc trong mọi tài liệu MongoDB . Trường _id phải có một giá trị duy nhất. Bạn có thể coi trường _id là khóa chính của tài liệu. Nếu bạn tạo một tài liệu mới không có trường _id, MongoDB sẽ tự động tạo trường này và gán một ObjectId BSON duy nhất.