Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में पोजिशनल ऑपरेटर $[] का उपयोग करके सरणी के सभी तत्वों को अपडेट करना

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 का उपयोग करें।

  1. - MongoDB updateOne() और insertOne() का उपयोग

    MongoDB insertOne() एक डॉक्यूमेंट को कलेक्शन में डालता है, जबकि updateOne() क्वेरी फ़िल्टर के आधार पर कलेक्शन में एक डॉक्यूमेंट को अपडेट करता है। आइए डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo735.insertOne({id:1,Name:Chris}); { acknowledged : true, insertedId : ObjectId(5ead51b657bb72a1

  1. - MongoDB में शर्त के साथ कनकैटेनेशन कैसे करें?

    MongoDB में शर्त के साथ कनकैटेनेशन करने के लिए $cond का उपयोग करें और उसमें $concat के साथ काम करें। आइए एक कलेक्शन बनाते हैं: > db.demo745.insertOne({Value1:100,Value2:100}); { acknowledged : true, insertedId : ObjectId(5eae6419a930c785c834e554) } > db.demo745.insertOne({Value1:40,Value2:50}

  1. - MongoDB में $push के साथ काम करें

    आइए एक कलेक्शन बनाते हैं: > db.demo738.insertOne({Subjects:[C,C++]}); { acknowledged : true, insertedId : ObjectId(5ead696557bb72a10bcf0661) } > db.demo738.insertOne({Subjects:[MySQL,PL/SQL]}); { acknowledged : true, insertedId : ObjectId(5ead696657bb72a10bcf0662) } find() से सभी डॉक्यूमेंट्स