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

MongoDB $ DegreesToRadians

MongoDB में, $degreesToRadians एग्रीगेशन पाइपलाइन ऑपरेटर डिग्री में मापे गए इनपुट मान को रेडियन में बदलता है।

$degreesToRadians किसी भी मान्य व्यंजक को स्वीकार करता है जो किसी संख्या का समाधान करता है।

$degreesToRadians ऑपरेटर को MongoDB 4.2 में पेश किया गया था।

उदाहरण

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

{ "_id" : 1, "data" : 180 }

और मान लेते हैं कि data . का मान फ़ील्ड डिग्री में है (इसलिए, इस मामले में यह 180 . है डिग्री)।

हम $degreesToRadians . का उपयोग कर सकते हैं data को बदलने के लिए ऑपरेटर रेडियंस के लिए फ़ील्ड:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        _id: 0,
        degrees: "$data",
        radians: { $degreesToRadians: "$data" }
      }
    }
  ]
)

परिणाम:

{ "degrees" : 180, "radians" : 3.141592653589793 }

डिफ़ॉल्ट रूप से, $degreesToRadians ऑपरेटर मानों को double . के रूप में लौटाता है , लेकिन यह 128-बिट दशमलव के रूप में भी मान लौटा सकता है, जब तक कि व्यंजक 128-बिट दशमलव मान पर हल हो जाता है।

128-बिट दशमलव मान

अगर एक्सप्रेशन $degreesToRadians . को दिया गया है 128-बिट दशमलव है, तो परिणाम 128-बिट दशमलव में लौटा दिया जाता है।

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

{ "_id" : 2, "data" : NumberDecimal("0.1301023541559787031443874490659") }

चलिए $degreesToRadians चलाते हैं उस दस्तावेज़ के विरुद्ध ऑपरेटर:

db.test.aggregate(
  [
    { $match: { _id: 2 } },
    { $project: { 
        _id: 0,
        degrees: "$data",
        radians: { $degreesToRadians: "$data" }
      }
    }
  ]
).pretty()

परिणाम:

{
	"degrees" : NumberDecimal("90.1301023541559787031443874490659"),
	"radians" : NumberDecimal("1.573067041239514175890278047405623")
}

आउटपुट 128-बिट दशमलव है।

शून्य मान

शून्य मान null लौटाते हैं $degreesToRadians . का उपयोग करते समय ऑपरेटर।

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

{ "_id" : 3, "data" : null }

चलिए $degreesToRadians चलाते हैं उस दस्तावेज़ के विरुद्ध ऑपरेटर:

db.test.aggregate(
  [
    { $match: { _id: 3 } },
    { $project: { 
        _id: 0,
        radians: { $degreesToRadians: "$data" }
      }
    }
  ]
)

परिणाम:

{ "radians" : null }

हम देख सकते हैं कि परिणाम null है .

NaN मान

अगर तर्क का समाधान NaN . हो जाता है , $degreesToRadians रिटर्न NaN

उदाहरण:

db.test.aggregate(
  [
    { $match: { _id: 3 } },
    { $project: { 
        _id: 0,
        radians: { $degreesToRadians: 0 * "$data" }
      }
    }
  ]
)

परिणाम:

{ "radians" : NaN }

इन्फिनिटी

अगर तर्क Infinity . का समाधान करता है या -Infinity , $degreesToRadians ऑपरेटर रिटर्न Infinity

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

{ "_id" : 4, "data" : Infinity }

चलिए $degreesToRadians चलाते हैं डेटा फ़ील्ड के विरुद्ध:

db.test.aggregate(
  [
    { $match: { _id: 4 } },
    { $project: { 
        _id: 0,
        radians: { $degreesToRadians: "$data" }
      }
    }
  ]
)

परिणाम:

{ "radians" : Infinity }

गैर-मौजूद फ़ील्ड

अगर $degreesToRadians ऑपरेटर को उस फ़ील्ड के विरुद्ध लागू किया जाता है जो मौजूद नहीं है, null लौटा दिया गया है।

उदाहरण:

db.test.aggregate(
  [
    { $match: { _id: 4 } },
    { $project: { 
        _id: 0,
        radians: { $degreesToRadians: "$name" }
      }
    }
  ]
)

परिणाम:

{ "radians" : null }

अन्य ऑपरेटरों के साथ संयुक्त

कुछ एकत्रीकरण पाइपलाइन ऑपरेटर रेडियन में अपने भाव स्वीकार करते हैं। यदि किसी फ़ील्ड का मान डिग्री में है, तो आप $degreesToRadians . को जोड़ सकते हैं व्यंजक को रेडियन में बदलने के लिए।

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

{ "_id" : 1, "data" : 3 }

और इस मामले में, डेटा फ़ील्ड का मान डिग्री में होता है।

अब मान लीजिए कि हम $cosh . का उपयोग करना चाहते हैं ऑपरेटर data . के हाइपरबोलिक कोसाइन को वापस करने के लिए खेत। एकमात्र समस्या यह है कि $cosh ऑपरेटर रेडियन में भाव स्वीकार करता है।

कोई बात नहीं! हम $degreesToRadians . का उपयोग कर सकते हैं इनपुट एक्सप्रेशन को रेडियन में बदलने के लिए।

उदाहरण:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        _id: 0,
        hyperbolicCosine: { $degreesToRadians: { $cosh: "$data" } }
      }
    }
  ]
)

परिणाम:

{ "hyperbolicCosine" : 0.17571384980422547 }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. विंडोज़ पर मोंगो डीबी कैसे शुरू करें

  2. MongoDB सामान्यीकरण, विदेशी कुंजी और शामिल होना

  3. MongoDB $asinh

  4. मोंगोडीबी $dateToString

  5. मोंगोडीबी अलग ()