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 }, अन्यथा केवल पहला मिलान करने वाला दस्तावेज़ अपडेट किया जाएगा।