MongoDB stats() 函数是不是返回位或字节?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于MongoDB stats() 函数是不是返回位或字节?的主要内容,如果未能解决你的问题,请参考以下文章

mongodb6.0统计信息

Mongodb如何获取单个文档的大小?

MongoDB空间整理

MongoDB 查看集合的统计信息

mongodb3.2系统性学习——5游标 模糊查询 findAndModify函数

MongoDB常用操作命令