deleteOne() এবং findOneAndDelete() তুলনা
MongoDB-এ একক ডকুমেন্ট ডিলিট করার দুটি প্রধান মেথড আছে, যাদের আচরণ আলাদা:
| ফিচার | deleteOne() | findOneAndDelete() |
|---|---|---|
| ডিলিট করা ডকুমেন্ট রিটার্ন করে | না (শুধু承认 কাউন্ট) | হ্যাঁ (পুরো ডকুমেন্ট) |
| সর্ট ক্রাইটেরিয়া সাপোর্ট | না | হ্যাঁ |
| অ্যাটোমিক অপারেশন | হ্যাঁ | হ্যাঁ |
নমুনা ডেটা তৈরি
> db.demo448.insertOne({ "Name": "Chris", "Age": 21 })
> db.demo448.insertOne({ "Name": "David", "Age": 23 })
> db.demo448.insertOne({ "Name": "Bob", "Age": 22 })
deleteOne() উদাহরণ
> db.demo448.deleteOne({ _id: ObjectId("5e7a2926bbc41e36cc3caecb") })
ফলাফল:
{ "acknowledged": true, "deletedCount": 1 }
ডিলিট হওয়া ডকুমেন্ট দেখা যায় না।
findOneAndDelete() উদাহরণ
> db.demo448.findOneAndDelete({ "_id": ObjectId("5e7a2930bbc41e36cc3caecc") })
ফলাফল:
{ "_id": ObjectId("..."), "Name": "Bob", "Age": 22 }
ডিলিট হওয়া ডকুমেন্টটি রিটার্ন হয়েছে।
কখন কোনটি ব্যবহার করবেন
- deleteOne(): শুধু ডিলিট করার কনফারমেশন দরকার হলে
- findOneAndDelete(): ডিলিট হওয়া ডকুমেন্টটি প্রক্রিয়া করতে হলে (যেমন লগিং, রেসপন্স পাঠানো)