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

MongoDB में $pull ऑपरेटर का उपयोग करके सरणी से विशिष्ट मान हटाना

MongoDB में सरणी से तत्व हटाना: $pull ऑपरेटर

$pull ऑपरेटर किसी सरणी से उन सभी तत्वों को हटा देता है जो निर्दिष्ट शर्त से मेल खाते हैं। यह सरणी में मानों की सूची को प्रबंधित करने के लिए बेहद उपयोगी है।

नमूना डेटा

> db.demo318.insertOne({Subject: ["MySQL", "MongoDB", "Java"]});
{ "acknowledged": true, "insertedId": ObjectId("5e50ea6df8647eb59e562062") }
> db.demo318.insertOne({Subject: ["Spring", "Hibernate"]});
{ "acknowledged": true, "insertedId": ObjectId("5e50ea78f8647eb59e562063") }

"Hibernate" मान हटाने के लिए क्वेरी

हम उस डॉक्यूमेंट को ढूंढते हैं जिसमें "Hibernate" है और फिर $pull का उपयोग करके उस मान को सरणी से हटाते हैं।

> db.demo318.update({Subject: "Hibernate"}, {$pull: {"Subject": "Hibernate"}});
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

परिणाम

> db.demo318.find();
{ "_id": ObjectId("5e50ea6df8647eb59e562062"), "Subject": [ "MySQL", "MongoDB", "Java" ] }
{ "_id": ObjectId("5e50ea78f8647eb59e562063"), "Subject": [ "Spring" ] }

दूसरे डॉक्यूमेंट से "Hibernate" हटा दिया गया, जिससे केवल "Spring" बचा। पहला डॉक्यूमेंट अपरिवर्तित रहा क्योंकि उसमें "Hibernate" नहीं था। $pull सरणी में सभी मिलान वाले तत्वों को हटा देता है, न कि केवल पहले को।

  1. MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें

    इसके लिए $not के साथ $in ऑपरेटर का उपयोग करें। आइए एक संग्रह बनाते हैं: [ { id: 101, subjectid: [ 102 ] }, { id: 102, subjectid: [ 102 ] } ] सभी दस्तावेज़ देखने के लिए: db.collection.find() आउटपुट: [ { _id: ObjectId(5a934e000102030405000000),

  1. - MongoDB डॉक्यूमेंट से विशिष्ट मान फ़िल्टर करें

    विशिष्ट मान फ़िल्टर करने के लिए MongoDB में $filter का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo751.insertOne( { _id: 101, details: [ { Name: Robert, id:110,Age:21}, { Name: Rae, id:110,Age:22}, {Name: Ralph, id:116,Age:23} ] } ); { acknowledged : true, insertedId : 101 } find() से सभी डॉक

  1. - MongoDB में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de