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

MongoDB में फील्ड कैसे इन्क्रीमेंट करें?

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

MongoDB में किसी न्यूमेरिक फील्ड की वैल्यू बढ़ाने के लिए $inc ऑपरेटर का उपयोग करें। यह एटॉमिक ऑपरेशन है।

उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना

> db.incrementDemo.insertOne({"PlayerScore":100});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc81cdd8f9e6ff3eb0ce44e") }
> db.incrementDemo.insertOne({"PlayerScore":290});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc81ce28f9e6ff3eb0ce44f") }
> db.incrementDemo.insertOne({"PlayerScore":560});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc81ce68f9e6ff3eb0ce450") }

सभी डॉक्यूमेंट्स देखना

> db.incrementDemo.find().pretty();

आउटपुट:

{ "_id" : ObjectId("5cc81cdd8f9e6ff3eb0ce44e"), "PlayerScore" : 100 }
{ "_id" : ObjectId("5cc81ce28f9e6ff3eb0ce44f"), "PlayerScore" : 290 }
{ "_id" : ObjectId("5cc81ce68f9e6ff3eb0ce450"), "PlayerScore" : 560 }

विशिष्ट डॉक्यूमेंट का PlayerScore 10 से इन्क्रीमेंट करना

> db.incrementDemo.update({ _id:ObjectId("5cc81ce28f9e6ff3eb0ce44f") }, { $inc: {"PlayerScore":10 } });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम वेरिफाई करना

> db.incrementDemo.find().pretty();

आउटपुट:

{ "_id" : ObjectId("5cc81cdd8f9e6ff3eb0ce44e"), "PlayerScore" : 100 }
{ "_id" : ObjectId("5cc81ce28f9e6ff3eb0ce44f"), "PlayerScore" : 300 }
{ "_id" : ObjectId("5cc81ce68f9e6ff3eb0ce450"), "PlayerScore" : 560 }

मुख्य विशेषताएं:

  • एटॉमिक: कॉन्करेंट अपडेट्स में भी सेफ
  • नेगेटिव वैल्यू: डिक्रीमेंट के लिए नेगेटिव नंबर दें: {$inc: {score: -5}}
  • फील्ड न होने पर: नया फील्ड बना देता है (upsert के साथ)
  • मल्टीपल फील्ड्स: {$inc: {field1: 1, field2: 5, field3: -2}}
  • डॉट नोटेशन: नेस्टेड फील्ड्स: {$inc: {"stats.views": 1}}

उपयोग केस: काउंटर्स, स्कोर्स, इन्वेंट्री, पेज व्यूज, लाइक्स आदि।

  1. - MongoDB में फील्ड प्रोजेक्ट करना

    MongoDB एग्रीगेशन में $project और $cond का उपयोग करके डायनामिक फील्ड प्रोजेक्शन MongoDB में जब दस्तावेज़ों में अलग-अलग फील्ड नाम हों (जैसे Marks1/Score1), तो $project के साथ $cond और $ifNull का उपयोग करके एकीकृत स्कीमा में प्रोजेक्ट करें। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo439.insertOne(

  1. - MongoDB संग्रह में खाली फ़ील्ड कैसे जांचें?

    MongoDB संग्रह में खाली फ़ील्ड जांचने के लिए $exists के साथ $eq ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo485.insertOne({"FirstName":"Chris","LastName":""});{    "acknowledged" : true,    "ins

  1. - MongoDB में _id फील्ड छिपाएं

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo575.insertOne({id:101,Information:{Name:Chris,Age:21}}); { acknowledged : true, insertedId : ObjectId(5e916a55581e9acd78b427f7) } > db.demo575.insertOne({id:102,Information:{Name:David,Age:20}}); { acknowledged : true, insertedId : ObjectId