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

MongoDB एग्रीगेशन में फील्ड्स के बीच तुलना कैसे करें?


$cmp ऑपरेटर से दो फील्ड्स की तुलना करें

MongoDB एग्रीगेशन पाइपलाइन में एक ही दस्तावेज़ के दो फील्ड्स की तुलना करने के लिए $cmp ऑपरेटर का उपयोग करें।

उदाहरण डेटा

> db.matchBetweenFieldsDemo.insertOne({"FirstValue":40,"SecondValue":70});
{ "acknowledged" : true, "insertedId" : ObjectId("5c92c9625259fcd19549980d") }
> db.matchBetweenFieldsDemo.insertOne({"FirstValue":20,"SecondValue":5});
{ "acknowledged" : true, "insertedId" : ObjectId("5c92c96b5259fcd19549980e") }

सभी दस्तावेज़:

> db.matchBetweenFieldsDemo.find().pretty();

Aggregation में तुलना: FirstValue > SecondValue वाले दस्तावेज़

> db.matchBetweenFieldsDemo.aggregate([
  {$project: {
    firstGreaterThanOrNot: {$cmp: ['$FirstValue', '$SecondValue']}
  }},
  {$match: {firstGreaterThanOrNot: {$gt: 0}}}
]);

व्याख्या:

  • $cmp: ['$FirstValue', '$SecondValue'] दो फील्ड्स की तुलना करता है
  • परिणाम: 1 (पहला बड़ा), 0 (बराबर), -1 (दूसरा बड़ा)
  • $match केवल उन्हीं दस्तावेज़ों को पास करता है जहां परिणाम > 0 हो (यानी FirstValue > SecondValue)

अन्य उपयोग: $cmp का उपयोग $project, $match, $group आदि स्टेज में किया जा सकता है।

  1. - MongoDB में सरणी फील्ड के साथ काम करके सभी से मिलान कैसे करें?

    MongoDB में सभी से मिलान करने के लिए $all का उपयोग करें। $all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां फील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए एक कलेक्शन बनाते हैं: > db.demo695.insertOne({ListOfValues:[100,200,500,800]}); { acknowledged : true, insertedId : ObjectId(5ea6d

  1. - MongoDB में एग्रीगेशन का उपयोग करके सभी मानों को मैच करें

    MongoDB में सभी मानों को मैच करने के लिए, एग्रीगेशन में $match के साथ $and का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo574.insertOne({ details1: { details2: { dueDate: new ISODate(2020-01-10), Name: Chris, UserInformation: {

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी