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

MongoDB $toDouble

MongoDB 4.0 से, आप $toDouble . का उपयोग कर सकते हैं मान को डबल में बदलने के लिए एग्रीगेशन पाइपलाइन ऑपरेटर.

अधिकांश प्रकारों को डबल में बदला जा सकता है, लेकिन ObjectId को नहीं।

जब आप दिनांक मान को डबल में कनवर्ट करते हैं, $toDouble उस युग के बाद से मिलीसेकंड की संख्या लौटाता है जो दिनांक मान से मेल खाती है।

जब आप बूलियन को डबल में बदलते हैं, यदि बूलियन true . है , तो डबल है 1 . अगर बूलियन false है , तो डबल है 0

उदाहरण

मान लीजिए कि हमारे पास types . नामक संग्रह है और इसमें निम्नलिखित दस्तावेज शामिल हैं:

{
	"_id" : ObjectId("601340eac8eb4369cf6ad9db"),
	"double" : 123.75,
	"string" : "123",
	"boolean" : true,
	"date" : ISODate("2020-12-31T23:30:15.123Z"),
	"integer" : 123,
	"long" : NumberLong(123),
	"decimal" : NumberDecimal("123.75")
}

हम $toDouble . का उपयोग कर सकते हैं ऑपरेटर उन प्रकारों (ऑब्जेक्ट आईडी को छोड़कर) को डबल में बदलने के लिए। यदि इनपुट पहले से ही डबल है, तो यह केवल डबल लौटाता है।

db.types.aggregate(
  [
    {
      $project:
        { 
          _id: 0,
          double: { $toDouble: "$double" },
          string: { $toDouble: "$string" },
          boolean: { $toDouble: "$boolean" },
          date: { $toDouble: "$date" },
          integer: { $toDouble: "$integer" },
          long: { $toDouble: "$long" },
          decimal: { $toDouble: "$decimal" }
        }
    }
  ]
).pretty()

परिणाम:

{
	"double" : 123.75,
	"string" : 123,
	"boolean" : 1,
	"date" : 1609457415123,
	"integer" : 123,
	"long" : 123,
	"decimal" : 123.75
}

त्रुटियां

यदि आप त्रुटियों का सामना करते हैं, तो $convert . का उपयोग करके देखें $toDouble . के बजाय ऑपरेटर . $convert ऑपरेटर आपको संपूर्ण एकत्रीकरण संचालन को प्रभावित किए बिना त्रुटियों को संभालने की अनुमति देता है।

$toDouble ऑपरेटर $convert . का उपयोग करने के बराबर है मान को डबल में बदलने के लिए ऑपरेटर।

यहां $convert . का उपयोग करने का एक उदाहरण दिया गया है ऑब्जेक्ट आईडी को डबल में बदलने का प्रयास करने के लिए (जिसके परिणामस्वरूप त्रुटि होती है):

db.types.aggregate(
  [
    {
      $project:
        { 
          _id: 0,
          result: 
          {
            $convert: { 
              input: "$_id", 
              to: "double",
              onError: "An error occurred",
              onNull: "Input was null or empty" 
            }
          }
        }
    }
  ]
)

परिणाम:

{ "result" : "An error occurred" } 

$convert . का उपयोग करना त्रुटि होने पर उपयोग करने के लिए हमें त्रुटि संदेश निर्दिष्ट करने की अनुमति दी, और इसने संपूर्ण एकत्रीकरण ऑपरेशन को नहीं रोका।

MongoDB देखें $convert अधिक उदाहरणों के लिए।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB खोज का उपयोग करके स्वत:पूर्ण सुविधा लागू करें

  2. mongoDB में कोई ठीक से कई तिथियों को कैसे बढ़ाता है?

  3. सरणी आंतरिक-तत्वों द्वारा MongoDB समूह

  4. MongoDB एक से कई संबंधों में बच्चों के आइटम दिखाएं

  5. एक डेटाटाइम के महीने, दिन, वर्ष ... पर क्वेरी मोंगोडब