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

MongoDB एग्रीगेशन में $convert और $reduce का उपयोग करके कॉमा-समाहित स्ट्रिंग को डबल में बदलना

MongoDB में स्ट्रिंग से संख्या रूपांतरण: कॉमा हटाकर डबल बनाना

संख्याओं को दर्शाने वाली स्ट्रिंग्स जिनमें कॉमा विभाजक हों (उदाहरण: "1,533.07"), को संख्यात्मक प्रकार में बदलने के लिए एग्रीगेशन पाइपलाइन में $split, $reduce/$concat, और $convert का संयोजन उपयोग करें।

नमूना डेटा

> db.demo335.insertOne({"Value": "45,67,78.0"});
{ "acknowledged": true, "insertedId": ObjectId("5e522a1cf8647eb59e562091") }
> db.demo335.insertOne({"Value": "17664,76,534.0"});
{ "acknowledged": true, "insertedId": ObjectId("5e522a26f8647eb59e562092") }
> db.demo335.insertOne({"Value": "8899,322,135,875.50"});
{ "acknowledged": true, "insertedId": ObjectId("5e522a34f8647eb59e562093") }
> db.demo335.insertOne({"Value": "1,533.07"});
{ "acknowledged": true, "insertedId": ObjectId("5e522ab9f8647eb59e562094") }

एग्रीगेशन पाइपलाइन

db.demo335.aggregate([
    {$project: {
        data: {
            $convert: {
                input: {
                    $reduce: {
                        input: {$split: ["$Value", ","]},
                        initialValue: "",
                        in: {$concat: ["$$value", "$$this"]}
                    }
                },
                to: "double",
                onError: 0
            }
        }
    }}
]);

परिणाम

{ "data": 456778 }
{ "data": 1766476534 }
{ "data": 8899322135875.5 }
{ "data": 1533.07 }

पाइपलाइन: 1) $split कॉमा द्वारा विभाजित करता है, 2) $reduce + $concat भागों को जोड़ता है, 3) $convert परिणाम को double में बदलता है। onError: 0 अमान्य इनपुट के लिए डिफ़ॉल्ट प्रदान करता है।

  1. - MongoDB में विशिष्ट स्ट्रिंग वाले दस्तावेज़ निकालना

    MongoDB एग्रीगेशन में $match का उपयोग करके नेस्टेड ऐरे में स्ट्रिंग खोजना MongoDB में नेस्टेड ऐरे के भीतर विशिष्ट स्ट्रिंग मान वाले दस्तावेज़ निकालने के लिए एग्रीगेशन पाइपलाइन में $match स्टेज का उपयोग करें। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo424.insert( { Information : [ { i

  1. - MongoDB में केस-इनसेंसिटिव खोज

    केस-इनसेंसिटिव खोज के लिए, find() मेथड में regex का उपयोग करें। सिंटैक्स निम्न है: db.demo572.find({yourFieldName : { $regex:/^yourValue$/i}}); उपरोक्त सिंटैक्स को समझने के लिए, आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo572.insertOne({CountryName:US}); { acknowledged : true, insertedI

  1. - Java में String को Double में कैसे बदलें?

    मान लीजिए निम्नलिखित हमारा स्ट्रिंग है: String str = 55.2; अब, ऊपर दिए गए स्ट्रिंग को parseDouble() का उपयोग करके Java में double में बदलें: double res = Double.parseDouble(23.6); उदाहरण Java में String को Double में बदलने का प्रोग्राम निम्नलिखित है: public class Demo { public static void main