Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Xóa collection MongoDB có tên chứa hai dấu gạch ngang

Khi tên collection chứa ký tự đặc biệt (như dấu gạch ngang `--`), không thể truy cập trực tiếp bằng ký hiệu chấm (dot notation). Cần sử dụng phương thức db.getCollection() để tham chiếu collection bằng chuỗi tên.

Cú pháp xóa collection

db.getCollection("yourCollectionNameWithTwoDashes").drop();

Tạo collection có tên chứa `--`

> db.createCollection("company--EmployeeInformation");
{ "ok" : 1 }

Thêm dữ liệu vào collection

> db.getCollection("company--EmployeeInformation").insertOne({"CompanyName":"Amazon","EmployeeName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c5ff6d78f205348bc654") }
> db.getCollection("company--EmployeeInformation").insertOne({"CompanyName":"Google","EmployeeName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7c60b6d78f205348bc655") }

Xem dữ liệu

> db.getCollection("company--EmployeeInformation").find();

Xóa collection

> db.getCollection("company--EmployeeInformation").drop();

Kết quả

true

Giải thích

  • db.getCollection("name"): Trả về đối tượng collection, cho phép tên bất kỳ (có khoảng trắng, dấu gạch, số, ký tự đặc biệt)
  • drop(): Xóa toàn bộ collection (dữ liệu + index)
  • Trả về true nếu thành công, false nếu collection không tồn tại

Các thao tác khác với getCollection


Khi nào cần getCollection?

  • Tên collection chứa: khoảng trắng, dấu gạch ngang `-`, dấu chấm `.`, số bắt đầu, ký tự đặc biệt
  • Tên collection trùng từ khóa reserved (ví dụ: db.version - version là method của db)
  • Tên collection động (từ biến)

Ví dụ tên đặc biệt khác


Lưu ý

  • db.collectionName chỉ hoạt động với tên hợp lệ JavaScript identifier
  • getCollection() luôn an toàn cho mọi tên
  • Trong driver (Node.js, Python...): db.collection("name-with-dashes")