หากคุณจะลองใช้เมธอด drop() มันจะลบข้อมูลทั้งหมดเกี่ยวกับคอลเล็กชัน การจัดทำดัชนีเป็นไปอย่างรวดเร็ว อย่างไรก็ตาม หากคุณจะใช้เมธอด remove() มันจะลบเร็กคอร์ดทั้งหมดแต่จะเก็บคอลเล็กชันและดัชนีไว้
ให้เราตรวจสอบโดยใช้ตัวอย่าง
ใช้ drop()
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.dropWorkingDemo.createIndex({"FirstName":1});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.dropWorkingDemo.insertOne({"FirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdd8742bf3115999ed511e9")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.dropWorkingDemo.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cdd8742bf3115999ed511e9"), "FirstName" : "John" } ตอนนี้ฉันจะใช้ drop() −
> db.dropWorkingDemo.drop();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
True
ให้เราตรวจสอบดัชนีที่มีอยู่หลังจากใช้วิธี drop() หรือไม่ -
> db.dropWorkingDemo.getIndexes();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
[ ]
ไม่มีดัชนี
ใช้ remove()
ตอนนี้เราจะตรวจสอบวิธีการลบ () ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.removeDemo.createIndex({"FirstName":1});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.removeDemo.insertOne({"FirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdd8868bf3115999ed511ea")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.removeDemo.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cdd8868bf3115999ed511ea"), "FirstName" : "John" } ให้เราใช้ remove() −
> db.removeDemo.remove({});
WriteResult({ "nRemoved" : 1 }) หลังจากใช้วิธี Remove() แล้ว ให้เราตรวจสอบดัชนีว่ามีหรือไม่ -
> db.removeDemo.getIndexes();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.removeDemo"
},
{
"v" : 2,
"key" : {
"FirstName" : 1
},
"name" : "FirstName_1",
"ns" : "test.removeDemo"
}
] ใช่ ดัชนีมีอยู่