MongoDB में remove() से सिंगल डॉक्यूमेंट डिलीट करना
MongoDB में केवल एक डॉक्यूमेंट डिलीट करने के लिए remove() मेथड का उपयोग करें जिसमें क्वेरी केवल एक डॉक्यूमेंट से मैच करे, या findOne() से _id प्राप्त करके डिलीट करें।
उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना
> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"John","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6ca2f9cb58ca2b005e674") }
> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"Carol","LastName":"Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6ca399cb58ca2b005e675") }
> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"David","LastName":"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6ca429cb58ca2b005e676") }
सभी डॉक्यूमेंट्स देखना
> db.removeOnlyOneDocumentDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cc6ca2f9cb58ca2b005e674"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5cc6ca399cb58ca2b005e675"), "FirstName" : "Carol", "LastName" : "Taylor" }
{ "_id" : ObjectId("5cc6ca429cb58ca2b005e676"), "FirstName" : "David", "LastName" : "Miller" }
FirstName "David" वाला डॉक्यूमेंट डिलीट करना
> var documentValue = db.removeOnlyOneDocumentDemo.findOne({'FirstName':'David'});
> db.removeOnlyOneDocumentDemo.remove({_id:documentValue._id});
WriteResult({ "nRemoved" : 1 })
परिणाम वेरिफाई करना
> db.removeOnlyOneDocumentDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cc6ca2f9cb58ca2b005e674"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5cc6ca399cb58ca2b005e675"), "FirstName" : "Carol", "LastName" : "Taylor" }
बेहतर विकल्प (MongoDB 3.2+):
deleteOne()- केवल पहला मैचिंग डॉक्यूमेंट डिलीट करता हैdb.collection.deleteOne({FirstName: "David"})remove()डिप्रिकेटेड है, नए कोड मेंdeleteOne()/deleteMany()उपयोग करें
deleteOne() उदाहरण:
> db.removeOnlyOneDocumentDemo.deleteOne({FirstName: "David"});
{ "acknowledged" : true, "deletedCount" : 1 }