当我们运行show dbs
命令时,x-development
数据库不会出现。然后当我们从 shell 中删除数据库时,它仍然允许我们再次访问它:
> use x-development
switched to db x-development
> db.dropDatabase()
{ "dropped" : "x-development", "ok" : 1 }
> use x-development
switched to db x-development
>
为什么会这样?我们在 mongo 2.2 上。
我们正在尝试删除数据库,因为它出现在 下mongostat
,并且我们要确保该数据库不占用服务器资源:
[root@mongo]# mongostat
connected to: 127.0.0.1
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn time
0 5 0 0 0 1 1 2.11g 4.86g 464m 0 x-development:0.0% 0 0|0 0|0 62b 2k 3 11:42:57
0 0 0 0 0 1 0 2.11g 4.86g 464m 0 x-development:0.0% 0 0|0 0|0 62b 2k 3 11:42:58
0 0 0 0 0 1 0 2.11g 4.86g 464m 0 x-development:0.0% 0 0|0 0|0 62b 2k 3 11:42:59
所以真正的问题是:mongostat
如果数据库不存在,为什么这个数据库会出现在下面?