我正在使用Python抓取推特并将其插入Mongo数据库进行分析。我想检查我的数据库的大小,以免在Amazon上运行时产生额外的费用。如何在OSX上确定当前Mongo数据库的大小?免费层是否可以胜任?
我正在使用Python抓取推特并将其插入Mongo数据库进行分析。我想检查我的数据库的大小,以免在Amazon上运行时产生额外的费用。如何在OSX上确定当前Mongo数据库的大小?免费层是否可以胜任?
为后人留存:
运行mongo shell:mongo
在shell中运行:db.adminCommand("getCmdLineOpts")
这将提供相关文件的位置,其中包括数据库路径。以下是我运行Mongo的两台机器的结果。
"parsed": {
"config": "/usr/local/etc/mongod.conf",
"dbpath": "/usr/local/var/mongodb",
"logappend": "true",
"logpath": "/usr/local/var/log/mongodb/mongo.log"
},
"parsed" : {
"config" : "/etc/mongodb.conf",
"dbpath" : "/var/lib/mongodb",
"logappend" : "true",
"logpath" : "/var/log/mongodb/mongodb.log",
},
/data/db
。但是您可以查看配置文件中的dbpath
值来验证。> use database
switched to db database
> db.stats()
{
"db" : "database",
"collections" : 4,
"objects" : 32,
"avgObjSize" : 173.25,
"dataSize" : 5544,
"storageSize" : 24576,
"numExtents" : 4,
"indexes" : 3,
"indexSize" : 24528,
"fileSize" : 201326592,
"nsSizeMB" : 16,
"ok" : 1
}
dataSize - 您的数据占用的大小
fileSize - 包含所有集合的MongoDB文件的大小
indexSize - 是您在该集合上创建的任何索引的大小
nsSizeMB - 您的集合可以达到的最大限制(这不是MongoDB的限制,只是为了防止开发人员无限循环地轰炸集合)
数据库默认存储在/data/db
中(但某些环境会覆盖此设置并使用/var/lib/mongodb
)。您可以通过查看MongoDB shell中的db.stats()
(特别是fileSize
)来查看总的数据库大小。