MongoDB में एक $inc
है फ़ील्ड अपडेट ऑपरेटर जो आपको एक विशिष्ट राशि से मान बढ़ाने की अनुमति देता है।
आप सकारात्मक और नकारात्मक मानों का उपयोग कर सकते हैं (अर्थात मान बढ़ाने या घटाने के लिए)।
यदि फ़ील्ड पहले से मौजूद नहीं है, तो इसे निर्दिष्ट मान के साथ बनाया जाता है।
उदाहरण
मान लीजिए हमारे पास dogs
. नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:
{ "_id" : 1, "name" : "Wag", "weight" : 10 }
यहाँ, weight
फ़ील्ड में एक मान होता है जिसे बढ़ाया या घटाया जा सकता है।
इन्क्रीमेंट
हम $inc
. का उपयोग कर सकते हैं update()
. के संयोजन में ऑपरेटर इस कुत्ते का वजन बढ़ाने का तरीका।
इस तरह:
db.dogs.update(
{ _id: 1 },
{ $inc: { weight: 5 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
यह हमें बताता है कि एक दस्तावेज़ का मिलान और संशोधन किया गया था।
आइए फिर से संग्रह की जाँच करें:
db.dogs.find()
परिणाम:
{ "_id" : 1, "name" : "Wag", "weight" : 15 }
हम देख सकते हैं कि कुत्ते का वजन 5 बढ़ गया है।
कमी
आप $inc
. को ऋणात्मक मान प्रदान करके मान घटा सकते हैं ऑपरेटर।
इस तरह:
db.dogs.update(
{ _id: 1 },
{ $inc: { weight: -5 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
संग्रह की जाँच करें:
db.dogs.find()
परिणाम:
{ "_id" : 1, "name" : "Wag", "weight" : 10 }
हम देख सकते हैं कि वजन अब 5 से कम हो गया है।
ऐसे फ़ील्ड में वृद्धि करें जो मौजूद नहीं है
जब आप किसी ऐसे फ़ील्ड को बढ़ाते हैं जो दस्तावेज़ में मौजूद नहीं है, तो फ़ील्ड जोड़ा जाता है और निर्दिष्ट मान असाइन किया जाता है।
उदाहरण:
db.dogs.update(
{ _id: 1 },
{ $inc: { weight: 1, height: 30 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ध्यान दें कि हमने दो फ़ील्ड अपडेट किए हैं; weight
फ़ील्ड और height
फ़ील्ड (जो मूल रूप से मौजूद नहीं थी)।
आइए दस्तावेज़ को दोबारा जांचें:
db.dogs.find()
परिणाम:
{ "_id" : 1, "name" : "Wag", "weight" : 11, "height" : 30 }
हम देख सकते हैं कि weight
फ़ील्ड को 1
. द्वारा बढ़ा दिया गया है , और एक नई height
फ़ील्ड को 30
. के निर्दिष्ट मान के साथ जोड़ा गया है ।