Mongo 4.2
से शुरू हो रहा है , db.collection.update()
एक एकत्रीकरण पाइपलाइन को स्वीकार कर सकता है, अंत में अपने वर्तमान मूल्य के आधार पर एक फ़ील्ड के अद्यतन की अनुमति देता है:
// { a: "Hello" }
db.collection.update(
{},
[{ $set: { a: { $concat: [ "$a", "World" ] } } }],
{ multi: true }
)
// { a: "HelloWorld" }
-
पहला भाग
{}
मिलान क्वेरी है, जो फ़िल्टर करना है कि कौन से दस्तावेज़ों को अद्यतन करना है (इस मामले में सभी दस्तावेज़)। -
दूसरा भाग
[{ $set: { a: { $concat: [ "$a", "World" ] } } }]
अद्यतन एकत्रीकरण पाइपलाइन है (एक एकत्रीकरण पाइपलाइन के उपयोग को दर्शाने वाले वर्ग कोष्ठक पर ध्यान दें)।$set
(उपनाम$addFields
) एक नया एकत्रीकरण ऑपरेटर है जो इस मामले में फ़ील्ड के मान को बदल देता है (a
को जोड़कर प्रत्यय के साथ"World"
) ध्यान दें कि कैसेa
अपने स्वयं के मूल्य के आधार पर सीधे संशोधित किया जाता है ($a
)। -
मत भूलना
{ multi: true }
, अन्यथा केवल पहला मिलान करने वाला दस्तावेज़ अपडेट किया जाएगा।