MongoDB में ऑल-पोजिशनल ऑपरेटर $[]: सरणी के सभी तत्वों को अपडेट करना
MongoDB 3.6+ में $[] ऑपरेटर (ऑल पोजिशनल ऑपरेटर) सरणी के सभी तत्वों को अपडेट करने की अनुमति देता है, बिना किसी क्वेरी शर्त के। यह $ (पहला मिलान) से अलग है।
नमूना डेटा
> db.demo324.insertOne({"ListOfValues": [10, 20, 30]});
{ "acknowledged": true, "insertedId": ObjectId("5e516349f8647eb59e562073") }
क्वेरी: सभी तत्वों को "MongoDB" स्ट्रिंग पर सेट करना
> db.demo324.update(
{"ListOfValues": [10, 20, 30]},
{$set: {"ListOfValues.$[]": "MongoDB"}},
{upsert: true}
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
परिणाम
{ "ListOfValues": ["MongoDB", "MongoDB", "MongoDB"] }
सरणी के सभी तीन तत्व "MongoDB" से बदल दिए गए। $[] का उपयोग सरणी के प्रत्येक तत्व पर ऑपरेशन लागू करने के लिए करें, जैसे सभी तत्वों को बढ़ाना, रूपांतरित करना, या साफ़ करना। फ़िल्टर्ड अपडेट के लिए $[<identifier>] के साथ arrayFilters का उपयोग करें।