MongoDB-এ সকল ডকুমেন্ট মুছে ফেলার দুটি প্রধান পদ্ধতি রয়েছে: drop() এবং remove()। এদের পার্থক্য বোঝা জরুরি।
১. drop() মেথড
drop() কলেকশনটি পুরোপুরি ডিলিট করে দেয় — ডকুমেন্ট, ইন্ডেক্স, মেটাডেটা সব।
উদাহরণ
> db.dropWorkingDemo.createIndex({"FirstName":1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.dropWorkingDemo.insertOne({"FirstName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd8742bf3115999ed511e9") }
> db.dropWorkingDemo.find();
{ "_id" : ObjectId("5cdd8742bf3115999ed511e9"), "FirstName" : "John" }
> db.dropWorkingDemo.drop();
true
> db.dropWorkingDemo.getIndexes();
[ ]
ফলাফল: ইন্ডেক্সগুলো আর নেই। কলেকশনটি পুরোপুরি মুছে গেছে।
২. remove() মেথড
remove({}) শুধু ডকুমেন্টগুলো মুছে দেয়, কিন্তু কলেকশন এবং এর ইন্ডেক্সগুলো রাখে।
উদাহরণ
> db.removeDemo.createIndex({"FirstName":1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.removeDemo.insertOne({"FirstName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd8868bf3115999ed511ea") }
> db.removeDemo.find();
{ "_id" : ObjectId("5cdd8868bf3115999ed511ea"), "FirstName" : "John" }
> db.removeDemo.remove({});
WriteResult({ "nRemoved" : 1 })
> db.removeDemo.getIndexes();
[
{ "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "test.removeDemo" },
{ "v" : 2, "key" : { "FirstName" : 1 }, "name" : "FirstName_1", "ns" : "test.removeDemo" }
]
ফলাফল: ইন্ডেক্সগুলো এখনও রক্ষিত আছে।
সারসংক্ষেপ
| পদ্ধতি | ডকুমেন্ট মুছে | কলেকশন রাখে | ইন্ডেক্স রাখে |
|---|---|---|---|
drop() | হ্যাঁ | না | না |
remove({}) | হ্যাঁ | হ্যাঁ | হ্যাঁ |
সুপারিশ: যদি কলেকশনটি আর লাগে না, drop() দ্রুত। যদি কলেকশন ও ইন্ডেক্স রাখতে চান, remove({}) ব্যবহার করুন।