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

MongoDB में सरणी से सिंगल वैल्यू कैसे पॉप करें?

MongoDB शेल में दस्तावेज़ को वेरिएबल में लोड करके, JavaScript के pop() मेथड से सरणी का अंतिम तत्व हटाएं, फिर save() से सेव करें।

उदाहरण

सरणी वाला दस्तावेज़ बनाएं:

> db.persistChangeDemo.insertOne({"Name": "Larry", "CreditScore": [500, 700, 760, 100]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfc52cbf3115999ed51203") }

दस्तावेज़ देखें:

> db.persistChangeDemo.find().pretty();
{ "_id" : ObjectId("5cdfc52cbf3115999ed51203"), "Name" : "Larry", "CreditScore" : [ 500, 700, 760, 100 ] }

अंतिम तत्व पॉप करें (शेल में)

> var myDocument = db.persistChangeDemo.findOne();
> myDocument.CreditScore.pop();
100

दस्तावेज़ सेव करें:

> db.persistChangeDemo.save(myDocument);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम जांचें:

> db.persistChangeDemo.find().pretty();
{ "_id" : ObjectId("5cdfc52cbf3115999ed51203"), "Name" : "Larry", "CreditScore" : [ 500, 700, 760 ] }

महत्वपूर्ण: यह तरीका केवल MongoDB शेल में काम करता है क्योंकि:

  • pop() JavaScript सरणी मेथड है, MongoDB ऑपरेटर नहीं
  • दस्तावेज़ को क्लाइंट-साइड वेरिएबल में लोड करना पड़ता है
  • save() पूरे दस्तावेज़ को बदल देता है

सर्वर-साइड विकल्प (एप्लिकेशन कोड के लिए)

$pop ऑपरेटर (अंतिम या पहला हटाता है)

db.collection.updateOne(
  {_id: ObjectId("...")},
  {$pop: {"CreditScore": 1}}  // 1 = अंतिम, -1 = पहला
)

$unset + $pull (विशिष्ट मान)

db.collection.updateOne(
  {_id: ObjectId("...")},
  {$pull: {"CreditScore": 100}}
)

नोट: $pop केवल अंतिम या पहला तत्व हटा सकता है, विशिष्ट मान नहीं। विशिष्ट मान के लिए $pull उपयोग करें।

  1. - MongoDB में डिसेंडिंग ऑर्डर (अवरोही क्रम) में सॉर्ट कैसे करें

    MongoDB में आरोही क्रम (ascending) के लिए सिंटैक्स है: db.yourCollectionName.find().sort({yourField: 1}); अवरोही क्रम (descending) के लिए 1 के स्थान पर -1 का उपयोग करें: db.yourCollectionName.find().sort({yourField: -1}); उदाहरण से समझें एक कलेक्शन बनाकर उसमें डॉक्यूमेंट इन्सर्ट करते हैं: > db.so

  1. - MongoDB में आरोही क्रम (Ascending Order) में सॉर्ट कैसे करें

    MongoDB में आरोही क्रम (ascending order) के लिए सिंटैक्स निम्नानुसार है: db.yourCollectionName.find().sort({yourField: 1}); उदाहरण से समझें एक कलेक्शन बनाकर उसमें डॉक्यूमेंट इन्सर्ट करते हैं: > db.sortingDemo.insertOne({Value: 100}); > db.sortingDemo.insertOne({Value: 1}); > db.sortingDemo.

  1. MongoDB को एक कमांड में कैसे रोकें? MongoDB को एक कमांड में कैसे रोकें?

    MongoDB को एक ही कमांड में रोकने के लिए, निम्न सिंटैक्स का उपयोग करें: mongo --eval db.getSiblingDB(admin).shutdownServer() आइए उपरोक्त सिंटैक्स को लागू करके MongoDB को एक कमांड में रोकते हैं। सबसे पहले, शॉर्टकट कुंजी का उपयोग करें: Ctrl + C क्वेरी इस प्रकार है: mongo --eval db.getSiblingDB(admin).