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

MongoDB में वोटिंग रिकॉर्ड में केवल एक आइटम अपडेट करना

MongoDB में $inc ऑपरेटर का उपयोग करके नेस्टेड फील्ड को इनक्रीमेंट करना

MongoDB में नेस्टेड ऑब्जेक्ट के संख्यात्मक फील्ड को बढ़ाने/घटाने के लिए $inc ऑपरेटर का उपयोग करें। यह एटॉमिक ऑपरेशन है और केवल निर्दिष्ट फील्ड को प्रभावित करता है।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo57.insertOne({"Votes":{"VoterName":"Chris","TotalVote":50}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e285bb8cfb11e5c34d8991a") }
> db.demo57.insertOne({"Votes":{"VoterName":"David","TotalVote":101}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e285bc3cfb11e5c34d8991b") }

सभी दस्तावेज़ देखना

> db.demo57.find();

आउटपुट:

{ "_id" : ObjectId("5e285bb8cfb11e5c34d8991a"), "Votes" : { "VoterName" : "Chris", "TotalVote" : 50 } }
{ "_id" : ObjectId("5e285bc3cfb11e5c34d8991b"), "Votes" : { "VoterName" : "David", "TotalVote" : 101 } }

David के TotalVote को 19 से बढ़ाना

> db.demo57.update(
  {"Votes.VoterName":"David" },
  { $inc : { "Votes.TotalVote" : 19 } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

अपडेट के बाद दस्तावेज़ देखना

> db.demo57.find();

आउटपुट:

{ "_id" : ObjectId("5e285bb8cfb11e5c34d8991a"), "Votes" : { "VoterName" : "Chris", "TotalVote" : 50 } }
{ "_id" : ObjectId("5e285bc3cfb11e5c34d8991b"), "Votes" : { "VoterName" : "David", "TotalVote" : 120 } }

मुख्य बिंदु:

  • Votes.VoterName - डॉट नोटेशन से नेस्टेड फील्ड क्वेरी
  • $inc - एटॉमिक इनक्रीमेंट (नकारात्मक मान से डिक्रीमेंट)
  • Votes.TotalVote - अपडेट करने वाला नेस्टेड फील्ड पथ
  • केवल मिलान करने वाला दस्तावेज़ अपडेट होता है (डिफ़ॉल्ट व्यवहार)

उपयोग के मामले: वोटिंग सिस्टम, काउंटर, इन्वेंट्री प्रबंधन, स्कोर ट्रैकिंग।

नोट: $inc केवल संख्यात्मक मानों पर काम करता है। फील्ड मौजूद न होने पर यह इसे बना देता है।

  1. - MongoDB में केवल ObjectId के साथ रो अपडेट कैसे करें?

    MongoDB में किसी दस्तावेज़ को उसके _id (ObjectId) द्वारा अपडेट करने के लिए, फिल्टर में ObjectId(...) का उपयोग करें और नए मान सेट करने के लिए $set का उपयोग करें। उदाहरण: छात्र संग्रह > db.demo34.insertOne({StudentFirstName:Chris,StudentAge:24}); { acknowledged : true, insertedId : ObjectId(5e1758

  1. - MongoDB दस्तावेज़ के एकल सूची आइटम को अपडेट करें और 1 से बढ़ाएं

    MongoDB में एक सरणी के अंदर एकल तत्व को अपडेट करने के लिए, स्थिति ऑपरेटर $ (पहले मिलान वाले तत्व के लिए) के साथ $inc का उपयोग करें ताकि संख्यात्मक फील्ड बढ़ाया जा सके। उदाहरण: उत्पाद विवरण संग्रह > db.demo39.insertOne({ProductDetails:[{ProductName:Product-1,ProductPrice:349}]}); { acknowledged :

  1. - MySQL में एक ही क्वेरी में एकाधिक रिकॉर्ड कैसे अपडेट करें?

    MySQL में UPDATE स्टेटमेंट में WHERE क्लॉज का उपयोग करके एक ही क्वेरी में एकाधिक कॉलम अपडेट किए जा सकते हैं, लेकिन एकाधिक पंक्तियों को अलग-अलग मानों से अपडेट करने के लिए CASE या एकाधिक क्वेरी की आवश्यकता होती है। उदाहरण: एक पंक्ति, एकाधिक कॉलम तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -&