mongo无法在终端中显示其正确的数据库大小

时间:2016-03-30 06:36:19

标签: mongodb

我使用pymongo来保存我通过scrapy抓取的数据,当我使用show dbs命令检查终端中的数据库时。看起来像这样

  > show dbs
EPGD___test                 0.000GB
EPGD_closetest              0.000GB
Testinsert                  0.000GB
local                       0.000GB
sta                         0.000GB
stackoverflow               0.000GB
stackoverflow_test          0.000GB
stackoverflow_test_morning  0.000GB
temptest1                   0.000GB

如您所见,数据库EPGD_closetest的大小为0.000GB,而在GUI mongoHub中,数据库中也找不到任何集合。 [在此处输入图像说明] [2]:http://i.stack.imgur.com/nDZI1.png.But当我使用以下命令use EPGD_closetestdb.EPGD_test.find()时,我可以看到数据库中有数据。我也可以使用它pymongo。

我通过pymongo将数据保存到mongo时的代码:

    def process_item(self, item, spider):
    valid = True
    for data in item:
        if not data:
            valid = False
            raise DropItem("Missing {0}!".format(data))
    if valid:
        self.collection.insert(dict(item))
        log.msg("Item wrote to MongoDB database {}, collection {}, at host {}, port {}".format(
        settings['MONGODB_DB'],
        settings['MONGODB_COLLECTION'],
        settings['MONGODB_SERVER'],
        settings['MONGODB_PORT']))
    return item

当我通过pymongo从mongo读取数据时的代码:

from pymongo import MongoClient

client = MongoClient()

db = client.EPGD_closetest
collection = db.EPGD_test

print collection.find().count()
print collection.find_one({"taxID" : [ "9606" ]})

结果如下:

299
{u'familyID_url': u'http://epgd.biosino.org/EPGD/paralogfamily/getInfor.jsp?familyID=50144', u'description': [u'lectin, mannose-binding, 1'], u'symbol': [u'LMAN1'], u'taxID': [u'9606'], u'taxID_url': [u'http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=9606'], u'familyID': [u'50144'], u'genID': [u'3998'], u'genID_url': u'http://epgd.biosino.org/EPGD/gene/geneinfor.jsp?geneID=3998', u'_id': ObjectId('56fb6c11c75c1608bde3293c'), u'chromosome': [u'18']}

所以有人能告诉我我的mongo有什么问题吗?

1 个答案:

答案 0 :(得分:0)

这是完全正常的...因为数据在您的集合中非常小,所以它显示了近0.000GB的数据。您可以添加更多数据以查看更改...

您还可以使用db.stats()来检查db的数据统计信息。以下是db.stats()

的结果
{
    "db" : "nxb",
    "collections" : 2,
    "objects" : 5,
    "avgObjSize" : 133.8,
    "dataSize" : 669,
    "storageSize" : 40960,
    "numExtents" : 0,
    "indexes" : 2,
    "indexSize" : 40960,
    "ok" : 1
}