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

MongoDB में दो फील्ड के योग के अनुसार क्रमबद्ध करना

एग्रीगेशन में $add और $sort

दो संख्यात्मक फील्ड के योग की गणना करके परिणामों को क्रमबद्ध करने के लिए, एग्रीगेशन पाइपलाइन में $project के अंदर $add ऑपरेटर का उपयोग करके एक गणना फील्ड बनाएं, फिर उस फील्ड पर $sort लागू करें।

उदाहरण: डेटा डालना

> db.orderByTwoFieldsDemo.insertOne({"Value1":10,"Value2":35});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca285576304881c5ce84baa") }
> db.orderByTwoFieldsDemo.insertOne({"Value1":12,"Value2":5});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca2855f6304881c5ce84bab") }
> db.orderByTwoFieldsDemo.insertOne({"Value1":55,"Value2":65});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca285686304881c5ce84bac") }

केस 1: आरोही क्रम (Ascending)

> db.orderByTwoFieldsDemo.aggregate([
...   {$project: {Value1:1, Value2:1, orderBySumValue: {$add: ["$Value1", "$Value2"]}}},
...   {$sort: {orderBySumValue: 1}}
... ]);

आउटपुट:


केस 2: अवरोही क्रम (Descending)

> db.orderByTwoFieldsDemo.aggregate([
...   {$project: {Value1:1, Value2:1, orderBySumValue: {$add: ["$Value1", "$Value2"]}}},
...   {$sort: {orderBySumValue: -1}}
... ]);

आउटपुट:


नोट: $add सरणी लेता है: [$add: ["$field1", "$field2"]]। आप एक से अधिक फील्ड भी जोड़ सकते हैं। गणना फील्ड (orderBySumValue) केवल पाइपलाइन के लिए मौजूद होता है, मूल दस्तावेज़ में नहीं जुड़ता।

  1. - MongoDB में एग्रीगेशन फिल्टर में दो फील्ड्स की तुलना कैसे करें?

    MongoDB एग्रीगेशन में $filter के साथ दो फील्ड्स की तुलना इसके लिए aggregate() के साथ $filter का उपयोग करें। कलेक्शन बनाना > db.demo137.insertOne( { Name1: Chris, Name2: David, Detail1: [ { _id: John, Name3: Chris }, { _id: Chris, Name3: Chris }

  1. - MongoDB से फ़ील्ड्स का सबसेट प्राप्त करना

    MongoDB में डॉट नोटेशन का उपयोग करके फ़ील्ड चयन MongoDB में find() विधि के दूसरे पैरामीटर (प्रोजेक्शन) में डॉट नोटेशन का उपयोग करके नेस्टेड फ़ील्ड्स को शामिल या बाहर किया जा सकता है। नमूना डेटा बनाना > db.demo307.insertOne({ CleintId:101, ClientDetails:{ClientFirstName:Chris,Age:34},

  1. - MongoDB में $set ऑपरेटर का उपयोग करके चयनित फ़ील्ड्स अपडेट करना

    MongoDB में आंशिक अपडेट: $set के साथ चयनित फ़ील्ड्स संशोधित करना $set ऑपरेटर निर्दिष्ट फ़ील्ड्स के मान सेट करता है। यदि फ़ील्ड मौजूद नहीं है, तो यह बनाता है। अन्य फ़ील्ड्स अपरिवर्तित रहती हैं। यह पूरे दस्तावेज़ प्रतिस्थापन से बचने का मानक तरीका है। नमूना डेटा > db.demo352.insertOne({Name: Chris}