【发布时间】:2012-11-02 09:59:22
【问题描述】:
我正在抓取推文并将它们插入到 mongo 数据库中,以便在 python 中进行分析工作。我想检查我的数据库的大小,这样如果我在亚马逊上运行它就不会产生额外的费用。我如何知道我当前的 mongo 数据库在 osx 上有多大?免费套餐会覆盖我吗?
【问题讨论】:
标签: python macos mongodb amazon-ec2
我正在抓取推文并将它们插入到 mongo 数据库中,以便在 python 中进行分析工作。我想检查我的数据库的大小,这样如果我在亚马逊上运行它就不会产生额外的费用。我如何知道我当前的 mongo 数据库在 osx 上有多大?免费套餐会覆盖我吗?
【问题讨论】:
标签: python macos mongodb amazon-ec2
默认情况下,数据库存储在/data/db 中(但是,有些环境会覆盖它并使用/var/lib/mongodb)。您可以通过查看 MongoDB shell 中的 db.stats()(特别是 fileSize)来查看总 db 大小。
【讨论】:
我相信在 OSX 上默认位置是 /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 - 包含所有集合的 mongo db 文件
indexSize - 是您在该集合上创建的任何索引的大小
nsSizeMB - 对集合大小的限制(这不是 mongo 限制,它只是为了阻止开发人员在无限循环中轰炸集合)
【讨论】:
为了后代:
运行 mongo shell:mongo
在 shell 中运行:db.adminCommand("getCmdLineOpts")
这将给出相关文件的位置,包括 db 路径。这是我运行 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",
},
【讨论】:
如果您在 windows 中运行 node.js,请确保安装 windows mongodb 设置。它不附带 node.js。
【讨论】: