【问题标题】:Does the MongoDB stats() function return bits or bytes?MongoDB stats() 函数是否返回位或字节?
【发布时间】:2011-08-30 06:40:23
【问题描述】:

使用 MongoDB 的 .stats() 函数确定文档大小时,返回的值是以位还是字节为单位?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    当然是字节。除非您将比例作为可选参数传递。

    【讨论】:

      【解决方案2】:

      运行collStats 命令 - db.collection.stats() - 以字节为单位返回所有大小,例如

      > db.foo.stats()
      {
          "size" : 715578011834,  // total size (bytes)
          "avgObjSize" : 2862,    // average size (bytes)
      }
      

      但是,如果您想要另一个单元中的结果,那么您也可以传入 scale 参数。

      例如,要以 KB 为单位获取结果:

      > db.foo.stats(1024)
      {
          "size" : 698806652,  // total size (KB)
          "avgObjSize" : 2,    // average size (KB)
      }
      

      或者对于 MB:

      > db.foo.stats(1024 * 1024)
      {
          "size" : 682428,    // total size (MB)
          "avgObjSize" : 0,   // average size (MB)
      }
      

      【讨论】:

      • 您在 MongoDB 中存储了 ~682GB?
      • 如果我有小数怎么办? `“avgObjSize”:5378.817689030945,`
      • avgObjSize 不受比例参数 (1024) 的影响,它始终返回字节。 docs.mongodb.org/manual/reference/command/collStats
      • 我被退回了 storageSize 等等...没有看到 size。使用 mongodb v2.6.12
      • @Hartator 我使用 GridAdapter 处理文件,所以任何人都可以获得 1TB 的图像,:P
      【解决方案3】:
      db.stats()                in Bytes
      db.stats(1024)            in KB
      db.stats(1024*1024)       in MB
      db.stats(1024*1024*1024)  in GB
      

      【讨论】:

        【解决方案4】:

        默认情况下,.stats() 函数以字节格式返回。您需要传递参数才能以不同的格式查看。

        以字节为单位的结果:

        db.stats()
        

        以 KB 为单位的结果:

        db.stats(1024)
        

        以 MB 为单位的结果:

        db.stats(1024*1024)
        

        以 GB 为单位的结果:

        db.stats(1024*1024*1024)
        

        【讨论】:

          猜你喜欢
          • 2012-08-05
          • 1970-01-01
          • 2021-11-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-29
          相关资源
          最近更新 更多