ใน MongoDB Shell (JavaScript REPL) ใช้ Keyword delete เพื่อลบตัวแปรที่ประกาศไว้ ทำให้ตัวแปรนั้นกลับสู่สถานะ "Not Defined"
ไวยากรณ์
delete yourVariableName;
ตัวอย่างขั้นตอนการทดสอบ
1. ตรวจสอบตัวแปรที่ยังไม่ประกาศ
> customerDetail;
ผลลัพธ์: ReferenceError
ReferenceError: customerDetail is not defined
2. กำหนดค่าให้ตัวแปร
> customerDetail = {"CustomerFirstName": "Chris"};
ผลลัพธ์:
{"CustomerFirstName": "Chris"}
3. แสดงค่าตัวแปร
> customerDetail;
ผลลัพธ์:
{"CustomerFirstName": "Chris"}
4. Unset (ลบ) ตัวแปร
> delete customerDetail;
ผลลัพธ์: คืนค่า true หากลบสำเร็จ
true
5. ตรวจสอบอีกครั้ง (ตัวแปรหายไปแล้ว)
> customerDetail;
ผลลัพธ์: ReferenceError อีกครั้ง
ReferenceError: customerDetail is not defined
รายละเอียดของ delete Operator
- เป็น JavaScript Standard Operator (ไม่ใช่ MongoDB Specific)
- ใช้ลบ Property จาก Object ได้ด้วย:
delete obj.property - คืนค่า
trueหากลบสำเร็จ หรือ Property ไม่มีอยู่ - คืนค่า
falseหาก Property ไม่สามารถลบได้ (Non-configurable) - ไม่สามารถลบตัวแปรที่ประกาศด้วย
varใน Global Scope ได้ (ใน Strict Mode)
ตัวอย่างลบ Property ใน Object
> var user = {name: "John", age: 30, city: "NYC"};
> delete user.age;
true
> user;
{name: "John", city: "NYC"}
ตัวแปรใน MongoDB Shell vs Database
deleteลบแค่ตัวแปรใน Shell Session (Memory) เท่านั้น- ไม่ส่งผลต่อข้อมูลใน Database
- หากต้องการลบ Field ใน Document: ใช้
$unsetในupdate()