Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

วิธีลบคอลเลกชันที่มีชื่อเป็นตัวเลขใน MongoDB

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()