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

MongoDB फाइंड क्वेरी में स्टेटिक वैल्यू के साथ फील्ड कैसे जोड़ें?

MongoDB एग्रीगेशन में $literal का उपयोग करके स्टेटिक फील्ड जोड़ना

$literal ऑपरेटर आपको एग्रीगेशन पाइपलाइन में एक स्थिर मान निर्दिष्ट करने की अनुमति देता है जिसे एक नए फील्ड के रूप में प्रोजेक्ट किया जा सकता है। यह गणना किए बिना क्वेरी परिणामों में मेटाडेटा, फ्लैग्स, या डिफ़ॉल्ट मान जोड़ने के लिए उपयोगी है।

नमूना डेटा बनाना

> db.fieldWithStaticValue.insertOne({"Name":"Larry","Age":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6554c7924bb85b3f48948") }
> db.fieldWithStaticValue.insertOne({"Name":"Chris","Age":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd655567924bb85b3f48949") }
> db.fieldWithStaticValue.insertOne({"Name":"David","Age":26});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd655607924bb85b3f4894a") }

सभी डॉक्यूमेंट्स देखना

> db.fieldWithStaticValue.find();

आउटपुट:

{ "_id" : ObjectId("5cd6554c7924bb85b3f48948"), "Name" : "Larry", "Age" : 24 }
{ "_id" : ObjectId("5cd655567924bb85b3f48949"), "Name" : "Chris", "Age" : 23 }
{ "_id" : ObjectId("5cd655607924bb85b3f4894a"), "Name" : "David", "Age" : 26 }

$literal के साथ स्टेटिक फील्ड जोड़ना

> db.fieldWithStaticValue.aggregate([
  {
    $project: {
      Name: 1,
      Age: 1,
      "StaticValue": { $literal: 100 }
    }
  }
]);

आउटपुट:

{ "_id" : ObjectId("5cd6554c7924bb85b3f48948"), "Name" : "Larry", "Age" : 24, "StaticValue" : 100 }
{ "_id" : ObjectId("5cd655567924bb85b3f48949"), "Name" : "Chris", "Age" : 23, "StaticValue" : 100 }
{ "_id" : ObjectId("5cd655607924bb85b3f4894a"), "Name" : "David", "Age" : 26, "StaticValue" : 100 }

व्याख्या

  • $project - आउटपुट डॉक्यूमेंट्स के आकार को पुनर्निर्मित करता है।
  • Name: 1, Age: 1 - मौजूदा फील्ड्स शामिल करता है।
  • { $literal: 100 } - सभी आउटपुट डॉक्यूमेंट्स के लिए स्थिर मान 100 निर्दिष्ट करता है।

उपयोग के मामले

  • रिपोर्टिंग के लिए स्थिर मेटाडेटा जोड़ना (उदाहरण के लिए, संस्करण, स्रोत सिस्टम, बैच आईडी)।
  • डाउनस्ट्रीम प्रोसेसिंग के लिए डिफ़ॉल्ट मान या फ्लैग्स प्रदान करना।
  • एक्सप्रेशन पार्सिंग से बचने के लिए स्ट्रिंग्स जिनमें विशेष वर्ण हैं, उन्हें एस्केप करना।

नोट

यह एग्रीगेशन पाइपलाइन एक कर्सर लौटाती है; यह मूल डॉक्यूमेंट्स को संशोधित नहीं करती है। परिणामों को स्थायी रूप से संग्रहीत करने के लिए, $merge या $out का उपयोग करें।

  1. - MongoDB Query - केवल Specific Field Value Update करना

    आइए उदाहरण देखते हैं और documents के साथ collection बनाते हैं: Collection बनाना > db.demo557.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e8f28e954b4472ed3e8e864) } > db.demo557.insertOne({Name:David}); { acknowledged : true, insertedId : ObjectId(5e8f28ee54b4472ed3e

  1. - MySQL में UPDATE के साथ मौजूदा मान में वैल्यू कैसे जोड़ें?

    मौजूदा मान में वैल्यू जोड़ने के लिए UPDATE और SET कमांड का उपयोग करें। सिंटैक्स UPDATE yourTableName SET yourColumnName = yourColumnName + integerValueToAdd WHERE yourCondition; उदाहरण के साथ समझें सबसे पहले एक टेबल बनाते हैं: ); Query OK, 0 rows affected (0.58 sec) रिकॉर्ड डालें INSERT INT

  1. - MySQL में INSERT INTO SELECT के साथ स्टैटिक वैल्यू कैसे जोड़ें?

    INSERT INTO SELECT MySQL क्वेरी का उपयोग करते समय स्टैटिक वैल्यू जोड़ सकते हैं। मान को सीधे SELECT स्टेटमेंट में लिखें या वेरिएबल की मदद से जोड़ें। केस 1: मान को सीधे INSERT INTO SELECT में रखें INSERT INTO yourSecondTableName(yourColumnName1, yourColumnName2, ... N) SELECT yourColumnName1, yourC