MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडीबी $शाब्दिक

MongoDB में, $literal एकत्रीकरण पाइपलाइन ऑपरेटर पार्स किए बिना एक मान देता है।

यह किसी भी मान्य व्यंजक को स्वीकार करता है, और बिना पार्स किए व्यंजक देता है।

$literal ऑपरेटर तब उपयोगी हो सकता है जब आपके पास एक मान होता है जिसे MongoDB अनजाने में एक अभिव्यक्ति के रूप में व्याख्या कर सकता है, लेकिन आप इसे नहीं चाहते हैं।

उदाहरण के लिए, यदि आपके पास एक मौद्रिक राशि है जिसमें एक डॉलर का चिह्न शामिल है, तो MongoDB अनजाने में इसे एक फ़ील्ड नाम के रूप में व्याख्या कर सकता है। आप $literal . का उपयोग कर सकते हैं MongoDB को ऐसे भावों की व्याख्या करने से रोकने के लिए।

उदाहरण

मान लीजिए हमारे पास test . नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:

{ "_id" : 1, "name" : "Homer" }

यहां $literal applying लागू करने का एक उदाहरण दिया गया है :

db.test.aggregate(
  [
    { $match: { _id: { $in: [ 1 ] } } },
    {
      $project:
        { 
          _id: 0,
          interpreted: "$name",
          literal: { $literal: "$name" }
        }
    }
  ]
)

परिणाम:

{ "interpreted" : "Homer", "literal" : "$name" }

इस उदाहरण में, हम name . का मान लौटाते हैं $name . का उपयोग करके फ़ील्ड इसका उल्लेख करने के लिए।

हम शाब्दिक मान $name . भी लौटाते हैं , MongoDB की व्याख्या किए बिना इसका अर्थ name . है फ़ील्ड:

उदाहरण 2

मान लीजिए हमारे संग्रह में निम्नलिखित दस्तावेज़ हैं:

{ "_id" : 2, "a" : 10, "b" : 5 }

यहां $literal . का उपयोग करने का एक और उदाहरण दिया गया है :

db.test.aggregate(
  [
    { $match: { _id: { $in: [ 2 ] } } },
    {
      $project:
        { 
          _id: 0,
          interpreted: { $multiply: [ "$a", "$b" ] },
          literal: { $literal: { $multiply: [ "$a", "$b" ] } }
        }
    }
  ]
)

परिणाम:

{ "interpreted" : 50, "literal" : { "$multiply" : [ "$a", "$b" ] } }

इस मामले में, लौटाए गए पहले फ़ील्ड में $multiply . का परिणाम होता है a . के विरुद्ध ऑपरेटर और b फ़ील्ड।

दूसरा फ़ील्ड केवल उस शाब्दिक मान को आउटपुट करता है जो हमने $literal . को प्रदान किया था ऑपरेटर।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब नेवला में E11000 डुप्लिकेट कुंजी त्रुटि सूचकांक

  2. MongoDB:$geoWithin ऑपरेटर का उपयोग करके सही परिणाम नहीं मिल रहा है

  3. उल्का उपयोग टेम्पलेट सहायक कार्यों में लाने या खोजने के लिए?

  4. एकाधिक मानदंड द्वारा नेस्टेड ऐरे से ऑब्जेक्ट निकालें

  5. SQL में अपने समूह के लिए न्यूनतम मान वाली पंक्तियों का चयन करने के 5 तरीके