MongoDB में db.collection.deleteOne()
विधि संग्रह से एक दस्तावेज़ को हटा देती है। दूसरे शब्दों में, यह इसे हटा देता है।
collection
भाग उस संग्रह का नाम है जिससे दस्तावेज़ को निकालना है।
उदाहरण
आइए employees
. नामक संग्रह को पॉप्युलेट करें पाँच दस्तावेज़ों के साथ:
db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
])
आइए अब db.collection.deleteOne()
का उपयोग करें उन दस्तावेज़ों में से एक को हटाने के लिए।
db.employees.deleteOne({ "_id": 4 })
परिणाम:
{ "acknowledged" : true, "deletedCount" : 1 }
इस हटाए गए कर्मचारी संख्या 4.
आइए सत्यापित करने के लिए संग्रह पर एक नज़र डालें।
db.employees.find()
परिणाम:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
हम देख सकते हैं कि कर्मचारी संख्या 4 अब संग्रह में मौजूद नहीं है।
व्यापक स्थिति का उपयोग करना
पिछले उदाहरण में, हमने _id
. का उपयोग किया था उस कर्मचारी का क्षेत्र जिसे हम हटाना चाहते थे। क्योंकि _id
फ़ील्ड प्रत्येक दस्तावेज़ के लिए विशिष्ट पहचानकर्ता है, इससे हमें ठीक उसी दस्तावेज़ को हटाने की अनुमति मिलती है जिसे हम हटाना चाहते थे।
किसी एक दस्तावेज़ को इतना सटीक किए बिना हटाना भी संभव है कि कौन सा दस्तावेज़ हटाया गया है। उदाहरण के लिए, आप एक विस्तृत फ़िल्टर का उपयोग कर सकते हैं जो कई दस्तावेज़ लौटाता है, लेकिन उन परिणामों से केवल पहला दस्तावेज़ ही हटाता है।
उदाहरण के लिए, हम उन कर्मचारियों द्वारा फ़िल्टर कर सकते हैं जो प्रति वर्ष 80,000 से अधिक कमाते हैं, फिर उस समूह के पहले दस्तावेज़ को हटा दें।
db.employees.deleteOne({ "salary": { $gt: 80000 } })
परिणाम:
{ "acknowledged" : true, "deletedCount" : 1 }
इस उदाहरण में, मानदंड से मेल खाने वाले दो दस्तावेज़ होने के बावजूद, केवल एक दस्तावेज़ हटाया गया था।
हम यह देखने के लिए संग्रह पर एक नज़र डाल सकते हैं कि कौन सा हटा दिया गया था।
db.employees.find()
परिणाम:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
हम इसे एक कदम आगे भी ले जा सकते हैं और सभी फ़िल्टर हटा सकते हैं, जिसका अर्थ है कि यह संग्रह के सभी दस्तावेज़ों में से चुनता है।
db.employees.deleteOne({})
परिणाम:
{ "acknowledged" : true, "deletedCount" : 1 }
एक बार फिर हम यह देखने के लिए संग्रह की जांच कर सकते हैं कि कौन सा हटा दिया गया था।
db.employees.find()
परिणाम:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
जैसा कि अपेक्षित था, पहला दस्तावेज़ हटा दिया गया था।
अधिक जानकारी
db.collection.deleteOne()
विधि वैकल्पिक मापदंडों को भी स्वीकार करती है जैसे collation
, hint
, और writeConcern
।
अधिक जानकारी के लिए MongoDB दस्तावेज़ देखें।