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

MongoDB: कलेक्शन और एम्बेडेड डॉक्यूमेंट में समानता कैसे जांचें?

MongoDB में $where के साथ कलेक्शन और एम्बेडेड डॉक्यूमेंट फील्ड्स की समानता जांचना

इसके लिए MongoDB में $where का उपयोग करके जांचें।

कलेक्शन बनाना

> db.demo292.insertOne({FirstName:"Chris",LastName:"Brown", "Friend":{FirstName:"David","LastName":"Miller"} });
{ "acknowledged": true, "insertedId": ObjectId("5e4c10aa5d93261e4bc9ea30") }
> db.demo292.insertOne({FirstName:"John",LastName:"Doe", "Friend":{FirstName:"Mike","LastName":"Doe"} });
{ "acknowledged": true, "insertedId": ObjectId("5e4c10dc5d93261e4bc9ea31") }

सभी डॉक्यूमेंट्स

> db.demo292.find();

समानता जांच क्वेरी

> db.demo292.find({$where: 'this.Friend.LastName === this.LastName'})

परिणाम


व्याख्या

  • $where: जावास्क्रिप्ट अभिव्यक्ति का मूल्यांकन करता है
  • this.Friend.LastName: एम्बेडेड डॉक्यूमेंट Friend का LastName फील्ड
  • this.LastName: टॉप-लेवल डॉक्यूमेंट का LastName फील्ड
  • ===: सख्त समानता तुलना
  • पहला डॉक्यूमेंट: "Miller" !== "Brown" → false
  • दूसरा डॉक्यूमेंट: "Doe" === "Doe" → true

सावधानी

  • प्रदर्शन: $where जावास्क्रिप्ट इंजन का उपयोग करता है, धीमा है, इंडेक्स उपयोग नहीं करता
  • सुरक्षा: अनट्रस्टेड इनपुट के साथ इंजेक्शन जोखिम
  • विकल्प: MongoDB 3.6+ में $expr के साथ एग्रीगेशन का उपयोग करें:

$expr इंडेक्स का उपयोग कर सकता है और अधिक सुरक्षित/तेज है।

  1. - MongoDB में किसी रिकॉर्ड (फ़ील्ड) को खोजकर कैसे हटाएं?

    MongoDB में $exists से फ़ील्ड खोजें और $unset से हटाएं फ़ील्ड खोजने के लिए $exists और हटाने के लिए $unset का उपयोग करें। MongoDB में $unset ऑपरेटर किसी विशेष फ़ील्ड को हटा देता है। आइए दस्तावेज़ों के साथ एक संग्रह बनाते हैं: > db.demo562.insertOne({Name:Chris,Age:21});{ acknowledged : true, inser

  1. - MongoDB में एम्बेडेड डॉक्यूमेंट में निश्चित तत्व कैसे ढूंढें?

    निश्चित तत्व ढूंढने के लिए MongoDB में $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo744.insertOne( { studentInformation: [ { studentName:Robert, grade:A }, { studentName:Bob, grade:C }, { studentName:John, grade:B }, { studentName:Sam, grade:A } ] } ); { acknowledged : true, insert

  1. 2022 में विंडोज 10 को मैन्युअल रूप से जांचें और अपडेट कैसे करें 2022 में विंडोज 10 को मैन्युअल रूप से जांचें और अपडेट कैसे करें

    विंडोज अपडेट की जांच करना और इंस्टॉल करना विंडोज को सुचारू रूप से चलाने का एक शानदार और प्रभावी तरीका है। इसलिए, समय-समय पर मुद्दों को ठीक करने, सुरक्षा कमजोरियों को पैच करने और अन्य चीजों के लिए, माइक्रोसॉफ्ट विंडोज अपडेट जारी करता रहता है, और सुरक्षा विशेषज्ञ भी इसकी सिफारिश करते हैं। साथ ही, रैंस