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

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 }
...     ]
...   }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5ea54f6fa7e81adc6a0b395b") }

सभी Documents Display करना

> db.demo685.find();

Output:

{ "_id" : ObjectId("5ea54f6fa7e81adc6a0b395b"), "details" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David", "Age" : 23 }, { "Name" : "Bob", "Age" : 21 } ] }

MongoDB Aggregation Query

> db.demo685.aggregate([ { $unwind: "$details" }, { $match: { "details.Age": 21 } }, { $project: {_id: 0}} ]).pretty();

Output:

{ "details" : { "Name" : "Chris", "Age" : 21 } }
{ "details" : { "Name" : "Bob", "Age" : 21 } }

व्याख्या: $unwind ने details array flatten किया। $match ने details.Age: 21 वाले documents filter किए। $project में _id: 0 से _id exclude किया गया। Output में केवल matching array elements दिखे।

  1. - MongoDB में विशिष्ट एकाधिक दस्तावेज प्राप्त करें

    MongoDB में विशिष्ट एकाधिक दस्तावेज प्राप्त करने के लिए, $in का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo593.insertOne({id:1,Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e93177dfd2d90c177b5bcd9) } > db.demo593.insertOne({id:2,Name:John}); { acknowledged

  1. - MongoDB में विशिष्ट संख्या से अधिक फील्ड मान वाले डॉक्यूमेंट्स से मिलान करके उन्हें प्राप्त करें

    मिलान के लिए MongoDB में $match का उपयोग करें। विशिष्ट संख्या से अधिक मानों के लिए $gt का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo730.insertOne({Name : Chris, Marks : 33 }); { acknowledged : true, insertedId : ObjectId(5eac54cd56e85a39df5f6339) } > db.demo730.insertOne({ Name : David,

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

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