MongoDB में एक $mul
है फ़ील्ड अपडेट ऑपरेटर जो आपको किसी मान को एक विशिष्ट राशि से गुणा करने की अनुमति देता है।
यदि फ़ील्ड पहले से मौजूद नहीं है, तो इसे बनाया जाता है और इसका मान शून्य पर सेट किया जाता है (0
) गुणक के समान संख्यात्मक प्रकार का उपयोग करना।
उदाहरण
मान लीजिए कि हमारे पास निम्नलिखित दस्तावेज़ के साथ एक संग्रह है:
{ "_id" : 1, "bar" : 10 }
हम $mul
. का उपयोग कर सकते हैं update()
. के संयोजन में ऑपरेटर bar
को बढ़ाने की विधि फ़ील्ड.
इस तरह:
db.foo.update(
{ _id: 1 },
{ $mul: { bar: 2 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
यह हमें बताता है कि एक दस्तावेज़ का मिलान और संशोधन किया गया था।
आइए फिर से संग्रह की जाँच करें:
db.foo.find()
परिणाम:
{ "_id" : 1, "bar" : 20 }
हम देख सकते हैं कि राशि दोगुनी होकर 20 हो गई है।
ऐसे फ़ील्ड का गुणा करें जो मौजूद नहीं है
जब आप $mul
. का उपयोग करते हैं उस फ़ील्ड पर जो दस्तावेज़ में मौजूद नहीं है, फ़ील्ड को जोड़ा जाता है और शून्य पर सेट किया जाता है (0
) गुणक के समान संख्यात्मक प्रकार का उपयोग करना।
उदाहरण:
db.foo.update(
{ _id: 1 },
{ $mul: { bar: 3, extra: 2 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ध्यान दें कि हमने दो फ़ील्ड अपडेट किए हैं; bar
फ़ील्ड और extra
फ़ील्ड (जो मूल रूप से मौजूद नहीं थी)।
आइए दस्तावेज़ को दोबारा जांचें:
db.foo.find()
परिणाम:
{ "_id" : 1, "bar" : 60, "extra" : 0 }
हम देख सकते हैं कि bar
फ़ील्ड को 3
. से गुणा किया गया है , और एक नया extra
फ़ील्ड को जोड़ा गया है और 0
. पर सेट किया गया है ।
मिश्रित प्रकार
मिश्रित संख्यात्मक प्रकार (32-बिट पूर्णांक, 64-बिट पूर्णांक, फ्लोट) के मानों के साथ गुणा के परिणामस्वरूप संख्यात्मक प्रकार का रूपांतरण हो सकता है।
स्पष्टीकरण के लिए MongoDB दस्तावेज़ देखें।