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

MongoDB $toInt

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

अधिकांश प्रकारों को पूर्णांक में बदला जा सकता है, लेकिन ऑब्जेक्ट आईडी और दिनांक मान नहीं हो सकते।

जब आप बूलियन को पूर्णांक में बदलते हैं, यदि बूलियन 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")
}

हम $toInt . का उपयोग कर सकते हैं उन क्षेत्रों को बदलने के लिए ऑपरेटर (_id . को छोड़कर) और date फ़ील्ड) एक पूर्णांक के लिए। यदि इनपुट पहले से ही एक पूर्णांक है, तो यह केवल पूर्णांक लौटाता है।

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

परिणाम:

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

ध्यान दें कि मैंने date को बाहर कर दिया है और _id ऑपरेशन से फ़ील्ड, क्योंकि इन प्रकारों को पूर्णांक में परिवर्तित नहीं किया जा सकता है।

त्रुटियां

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

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

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

db.types.aggregate(
  [
    {
      $project:
        { 
          _id: 0,
          result: 
          {
            $convert: { 
              input: "$date", 
              to: "int",
              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 $nin क्वेरी ऑपरेटर

  3. रेडिस बनाम मोंगोडीबी

  4. किसी सरणी में पहले आइटम में मिलान करने के लिए MongoDB को क्वेरी करना

  5. Mongoose.js एक कनेक्ट () कॉल से MongoDB से कई कनेक्शन बनाता है