समस्या यह है कि toFixed
एक String
देता है , नहीं एक Number
. फिर आप दस्तावेज़ को एक नए, और अलग String
. के साथ अपडेट कर रहे हैं ।
मोंगो शैल से उदाहरण:
> number = 2.3431
2.3431
> number.toFixed(2)
2.34
> typeof number.toFixed(2)
string
यदि आप 2 दशमलव संख्या चाहते हैं तो आपको इसे फिर से कुछ इस तरह से पार्स करना होगा:
db.MyCollection.find({"ProjectID" : 44, "Cost": {$exists: true}}).forEach(function(doc){
if(doc.Cost.length > 0){
var newCost = doc.Cost.replace(/,/g, '').replace(/\$/g, '');
var costString = parseFloat(newCost).toFixed(2);
doc.Cost = parseFloat(costString);
db.MyCollection.save(doc);
} // End of If Condition
}) // End of foreach