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

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


सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं:

> db.demo761.insertOne( { "details": [ { "student": { "FullName": "Chris Brown" } } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5eb034d15637cd592b2a4af1") }
> db.demo761.insertOne( { "details": [ { "student": { "FullName": "Chris Taylor" } } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5eb034d25637cd592b2a4af2") }

find() से सभी डॉक्यूमेंट्स देखें:

> db.demo761.find();

आउटपुट:

MongoDB में सरणी क्वेरी करने का तरीका (FullName "Chris Taylor" वाला):

> db.demo761.aggregate([ ... {'$unwind':'$details'}, ... {'$match': { 'details.student.FullName':'Chris Taylor', }}, ... {'$project': { 'details.student.FullName': 1, '_id': 0 }}, ... ])

परिणाम:


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

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

  1. - MongoDB Aggregation - Specific Field Value वाले Documents Fetch करना

    इसके लिए aggregate() का उपयोग करें। मान लें हमें field Age value 21 वाले documents fetch करने हैं। Collection बनाना > db.demo685.insertOne( ... { ... details: ... [ ... { Name:Chris, Age:21 }, ... { Name:David, Age:23 }, ... { Name:Bob, Age:21 } ... ] ... } ...

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

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