MongoDB ไม่อนุญาตให้อ้างอิงคอลเลกชันที่มีชื่อเป็นตัวเลขโดยตรง (เช่น db.2536464.drop() จะผิดพลาด) ต้องใช้เมธอด db.getCollection() แทน
รูปแบบคำสั่ง
db.getCollection("yourNumericCollectionName").drop();
ตัวอย่างการสร้างและลบคอลเลกชันชื่อตัวเลข
> db.createCollection("2536464");
{ "ok": 1 }
> db.getCollection("2536464").insertOne({"Record": 1});
{ "acknowledged": true, "insertedId": ObjectId("5ca254a46304881c5ce84b8e") }
> db.getCollection("2536464").insertOne({"Record": 2});
{ "acknowledged": true, "insertedId": ObjectId("5ca254a76304881c5ce84b8f") }
> db.getCollection("2536464").insertOne({"Record": 3});
{ "acknowledged": true, "insertedId": ObjectId("5ca254a96304881c5ce84b90") }
แสดงข้อมูลก่อนลบ
> db.getCollection("2536464").find().pretty();
ผลลัพธ์
{
"_id": ObjectId("5ca254a46304881c5ce84b8e"),
"Record": 1
}
{
"_id": ObjectId("5ca254a76304881c5ce84b8f"),
"Record": 2
}
{
"_id": ObjectId("5ca254a96304881c5ce84b90"),
"Record": 3
}
ลบคอลเลกชัน
> db.getCollection("2536464").drop();
ผลลัพธ์
true
สรุป: ใช้ db.getCollection("ชื่อคอลเลกชัน") เพื่อเข้าถึงคอลเลกชันที่มีชื่อพิเศษ (ตัวเลข, มีช่องว่าง, หรือตัวอักษรพิเศษ) ก่อนเรียกใช้เมธอดต่างๆ เช่น drop(), find(), insertOne()