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

MongoDB में एम्बेडेड सूची से विशिष्ट मान से बड़े मान कैसे प्राप्त करें?

MongoDB में नेस्टेड सरणी पर $gt क्वेरी

एम्बेडेड दस्तावेज़ों की सरणी के अंदर संख्यात्मक तुलना (जैसे "से बड़ा") करने के लिए डॉट नोटेशन के साथ $gt ऑपरेटर का उपयोग करें।

नमूना डेटा: नेस्टेड सरणी

> db.demo317.insertOne({
    'id': 101,
    'details': [{'Score': 78, Name: "Chris"}, {'Score': 88, Name: "David"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e50e69cf8647eb59e562060") }

> db.demo317.insertOne({
    'id': 102,
    'details': [{'Score': 90, Name: "Chris"}, {'Score': 91, Name: "David"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e50e6adf8647eb59e562061") }

क्वेरी: Score 89 से बड़ा वाले डॉक्यूमेंट्स

डॉट नोटेशन details.Score सरणी के अंदर प्रत्येक एम्बेडेड दस्तावेज़ के Score फ़ील्ड तक पहुंचता है।

> db.demo317.find({"details.Score": {$gt: 89}});

परिणाम

{ "_id": ObjectId("5e50e6adf8647eb59e562061"), "id": 102, "details": [ { "Score": 90, "Name": "Chris" }, { "Score": 91, "Name": "David" } ] }

केवल दूसरा डॉक्यूमेंट वापस किया गया क्योंकि इसकी सरणी में कम से कम एक तत्व का Score 89 से बड़ा है (वास्तव में दोनों हैं)। पहला डॉक्यूमेंट (78, 88) बाहर हो गया क्योंकि इसका कोई भी Score 89 से बड़ा नहीं है। महत्वपूर्ण: यह क्वेरी डॉक्यूमेंट लौटाती है यदि सरणी का कोई भी तत्व शर्त पूरी करता है।

  1. - MongoDB: ऐरे वैल्यूज के आधार पर दस्तावेजों को मैच करें जो विशिष्ट मान से अधिक हों

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेजों से मेल खाता है जिनमें एक ऐरे फील्ड होता है जिसमें कम से कम एक एलिमेंट होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo701.insertOne({ListOfValues:[100,200,300]}); { a

  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. - MySQL में FIND_IN_SET और REPLACE के साथ सेमीकोलन से अलग सूची से विशिष्ट रिकॉर्ड खोजना

    MySQL में REPLACE और FIND_IN_SET के साथ सेमीकोलन-सेपरेटेड सूची में मान खोजना FIND_IN_SET() केवल अल्पविराम (,) सेपरेटर के साथ काम करता है। सेमीकोलन (;) या अन्य सेपरेटर के लिए, पहले REPLACE() से सेपरेटर बदलें। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMEN