MongoDB में deleteOne() मेथड एक क्वेरी से मेल खाने वाले अधिकतम एक दस्तावेज़ को हटाता है। यदि कई दस्तावेज़ मेल खाते हैं, तो केवल पहला (प्राकृतिक क्रम के अनुसार) हटाया जाता है।
उदाहरण: नामों का संग्रह
> db.demo363.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57d2c3d0ada61456dc9369") }
> db.demo363.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57d2c7d0ada61456dc936a") }
> db.demo363.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57d2cad0ada61456dc936b") }
> db.demo363.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57d2d1d0ada61456dc936c") }
हटाने से पहले
> db.demo363.find();
आउटपुट: दो "Chris" दस्तावेज़, एक "David", एक "Bob"।
पहला मिलान हटाएं
> db.demo363.deleteOne({Name:"Chris"});
{ "acknowledged" : true, "deletedCount" : 1 }
हटाने के बाद
> db.demo363.find();
आउटपुट: एक "Chris" (दूसरा), "David", "Bob"। पहला "Chris" हटा दिया गया।
मुख्य अंतर: deleteOne vs deleteMany
| मेथड | व्यवहार |
|---|---|
deleteOne(filter) | पहले मिलान वाले दस्तावेज़ को हटाता है। |
deleteMany(filter) | मेल खाने वाले सभी दस्तावेज़ों को हटाता है। |
सर्वोत्तम अभ्यास
- निर्धारित हटाने के लिए विशिष्ट फिल्टर (जैसे
_id) का उपयोग करें। - परिणाम ऑब्जेक्ट में
deletedCountकी जांच करके पुष्टि करें। - बड़े बैच हटाने के लिए,
deleteManyया बल्क ऑपरेशन पर विचार करें।