MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB mengonversi tipe string ke tipe float

Masalahnya adalah toFixed mengembalikan String , bukan Number . Kemudian Anda hanya memperbarui dokumen dengan String yang baru dan berbeda .

Contoh dari Mongo Shell:

> number = 2.3431
2.3431
> number.toFixed(2)
2.34
> typeof number.toFixed(2)
string

Jika Anda menginginkan angka 2 desimal, Anda harus menguraikannya lagi dengan sesuatu seperti:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. alternatif mongoDB untuk batasan kunci asing

  2. tambahkan pengguna ke mongodb melalui python

  3. MongoDB Temukan Kecocokan Array yang Tepat tetapi urutan tidak masalah

  4. node-mongodb-native MongoClient tiba-tiba menutup koneksi

  5. Permintaan MongoDump dengan BinData