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 उपयोग करें।