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

Mik*_*key 59 mongodb

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

Chr*_*tow 115

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

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

但是,如果您希望将结果放在另一个单元中,那么您也可以传入一个scale参数.

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

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

或者对于MB:

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

  • 你在MongoDB中存储了大约682GB? (17认同)
  • avgObjSize不受scale参数(1024)的影响,它始终返回Bytes.https://docs.mongodb.org/manual/reference/command/collStats/ (9认同)

小智 39

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


小智 6

db.stats()                in Bytes
db.stats(1024)            in KB
db.stats(1024*1024)       in MB
db.stats(1024*1024*1024)  in GB
Run Code Online (Sandbox Code Playgroud)