Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में केवल एक डॉक्यूमेंट कैसे रिमूव करें?

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 }
  1. HP प्रिंटर केवल एक कॉपी प्रिंट करता है - समाधान HP प्रिंटर केवल एक कॉपी प्रिंट करता है - समाधान

    मुझे एक समस्या का सामना करना पड़ा जहां HP प्रिंटर दस्तावेज़ की केवल एक कॉपी प्रिंट कर रहा था, भले ही प्रिंट जॉब भेजते समय सेटिंग्स में कितनी भी कॉपीज़ निर्दिष्ट की गई हों। ऐसा लग रहा था कि कॉपीज़ की संख्या वाला फ़ील्ड प्रिंटर (या उसके ड्राइवर) द्वारा अनदेखा किया जा रहा है। मोपियर मोड (Mopier Mode)

  1. - MongoDB क्वेरी: ऐरे के केवल एक एलिमेंट को स्लाइस करें

    ऐरे के केवल एक एलिमेंट को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }

  1. - MongoDB में मानदंड निर्दिष्ट करके केवल एक दस्तावेज प्राप्त करें

    इसके लिए MongoDB में findOne() का उपयोग करें। findOne() कलेक्शन पर निर्दिष्ट क्वेरी मानदंडों को पूरा करने वाला एक दस्तावेज लौटाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo596.insertOne({_id:1,FirstName:John,LastName:Smith}); { acknowledged : true, insertedId : 1 } > db.demo596