【问题标题】:MongoDB converts number to string in scientific notationMongoDB以科学计数法将数字转换为字符串
【发布时间】:2018-07-08 10:08:40
【问题描述】:

我想获得完整的数字作为String,但"1490650000000" 它返回科学计数法"1.49065e+12"

这是我尝试转换它的方法:

{$substr: ["$myNumber", 0, -1]};

任何想法如何防止它?

注意: 我正在使用 v3.6,无法升级到使用 $toString(感谢 mlab)。

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework tostring scientific-notation


    【解决方案1】:

    你可以尝试如下。

    db.collectionName.aggregate([
    { $addFields: { "strFld": {$toString: {$toLong:"$numberFiled"}}} },
    ])
    

    【讨论】:

      【解决方案2】:

      如果你有 mongodb 4.0 那么你可以使用$toLong 聚合

      db.collection.aggregate([
        {
          "$project": {
            "myNumber": {
              "$toLong": "$myNumber"
            }
          }
        }
      ])
      

      【讨论】:

      • “另外我正在使用 v3.6 并且无法更新为使用 $toString(感谢 mlab)。”不幸的是我不能使用 4.0
      • 那么你必须用 JavaScript 来做这件事,因为直到 4.0 还没有可以将数字转换为字符串的运算符
      猜你喜欢
      • 1970-01-01
      • 2022-01-04
      • 2014-07-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多