sql >> データベース >  >> NoSQL >> MongoDB

MongoDBは文字列型をfloat型に変換します

    問題は、toFixed Stringを返します 、Numberではありません 。次に、新しい異なるStringでドキュメントを更新するだけです。 。

    Mongo Shellの例:

    > 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
    


    1. MongoDBの各グループ内でmaxに対応するドキュメントをグループ化して選択するにはどうすればよいですか?

    2. Mongodbに文字列として保存された日付を処理するにはどうすればよいですか?

    3. シェルのmongodbクエリ出力で日付をフォーマットします

    4. 論理または?によるMongodb Aggregation Group