ऐसे रूपांतरण के लिए, कुल () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> 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.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e522a1cf8647eb59e562091"), "Value" : "45,67,78.0" } { "_id" : ObjectId("5e522a26f8647eb59e562092"), "Value" : "17664,76,534.0" } { "_id" : ObjectId("5e522a34f8647eb59e562093"), "Value" : "8899,322,135,875.50" } { "_id" : ObjectId("5e522ab9f8647eb59e562094"), "Value" : "1,533.07" }
अल्पविराम से स्ट्रिंग को डबल में बदलने के लिए क्वेरी निम्नलिखित है -
db.demo335.aggregate([ ... { $project: { ... data: { ... $convert: { ... input: { ... $reduce: { ... input: { ... $split: ['$Value', ','] ... }, ... initialValue: '', ... in: { ... $concat: ['$$value', '$$this'] ... } ... } ... }, ... to: 'double', ... onError: 0 ... } ... } ... }} ... ])
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e522a1cf8647eb59e562091"), "data" : 456778 } { "_id" : ObjectId("5e522a26f8647eb59e562092"), "data" : 1766476534 } { "_id" : ObjectId("5e522a34f8647eb59e562093"), "data" : 8899322135875.5 } { "_id" : ObjectId("5e522ab9f8647eb59e562094"), "data" : 1533.07 }