Hướng dẫn xóa document trong mongodb

This entry is part 11 of 24 in the series MongoDB

  • MongoDB là gì? Các khái niệm trong MongoDB
  • Hướng dẫn cài đặt, cấu hình MongoDB trên Windows 10
  • Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
  • Hướng dẫn cài đặt MongoDB trên Linux (Ubuntu 16.04)
  • Hướng dẫn MongoDB – Tạo database trong MongoDB
  • Hướng dẫn MongoDB – Xóa, DROP database trong MongoDB
  • Tạo bảng, collections trong MongoDB (Tạo bằng dòng lệnh, Robo3t)
  • Xóa bảng, collections trong MongoDB (Xóa bằng lệnh/ Robo3T)
  • Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T)
  • Truy vấn dữ liệu/document, find(), Select, Where trong MongoDB
  • Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)
  • Update document, dữ liệu trong MongoDB
  • Projection trong MongoDB (SELECT field/column trong MongoDB)
  • Sắp xếp trong MongoDB(orderBy, sorting() trong MongoDB)
  • Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
  • Xóa cột, field, trường của collections trong MongoDB ($unset)
  • Kiểm tra null, check tồn tại trong MongoDB với $exists
  • Đổi tên field trong MongoDB với $rename
  • Tạo user/roles, phân quyền người dùng trên MongoDB
  • Các loại roles, vai trò, quyền trong MongoDB.
  • Đăng nhập mongodb với username và password (database mongo)
  • Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB
  • Replication, Replica Set trong MongoDB là gì?
  • Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T).

Cú pháp:

Để document trong MongoDB ta dùng method remove():

db.COLLECTION_NAME.remove(DELLETION_CRITTERIA, justOne)

Trong đó:

  • DELLETION_CRITTERIA: là điều kiện xóa (các bản ghi nào sẽ bị xóa)
  • justOne: Nếu có giá trị bằng 1 hoặc true thì chỉ có nhiều nhất 1 bản ghi bị xóa (trường này tùy chọn, nếu không có thì sẽ xóa tất cả các bản ghi thỏa mãn DELLETION_CRITTERIA)

Ví dụ trong collection player mình có 5 bản ghi như sau:

{'_id':'1', 'name':'neymar', 'country':'brazil', 'age':'25'},
{'_id':'2', 'name':'hazard', 'country':'belgium', 'age':'25'},
{'_id':'3', 'name':'mbappe', 'country':'france', 'age':'18'},
{'_id':'4', 'name':'modric', 'country':'croatia', 'age':'30'},
{'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':'33'},

Hướng dẫn xóa document trong mongodb

Bây giờ muốn xóa đối tượng có name = neymar thì câu lệnh sẽ là:

db.player.remove({'name':'neymar'})

Kết quả:

Hướng dẫn xóa document trong mongodb

Tương tự, muốn xóa các player có name gồm chữ ‘n’ thì câu lệnh sẽ là:

db.player.remove({'name':/n/})

Trường hợp tìm thấy nhiều player có name chứa chữ ‘n’ nhưng chỉ muốn xóa 1 bản ghi đầu tiên thì câu lệnh sẽ là:

db.player.remove({'name':/n/},1)

Trường hợp điều kiện xóa gồm nhiều điều kiện thì ta dùng $and hoặc $or như khi truy vấn mongodb

Ví dụ: Muốn xóa các document có name bắt đầu bằng ‘m’ và country = ‘france’ thì câu lệnh như sau:

db.player.remove({$and: [{'name':/^m/},{'country':'france'}]})

Xóa document bằng Robo3T

Chọn các document cần xóa / click chuột phải và chọn ‘Delete Documents

Hướng dẫn xóa document trong mongodb

Nếu muốn xóa theo điều kiện, thì gõ lệnh vào ô lệnh và execute như dòng lệnh:

Hướng dẫn xóa document trong mongodb

________________________

Okay, Done!

References: https://docs.mongodb.com/manual/mongo/