2015-03-03 70 views
1

如何从mongo shell中为Mongo(v2.2.0)指定修复路径?如何从mongo shell中指定修复路径?

例如,我可以正常运行命令:

mongod --repair --repairpath /opt/vol2/data 

我怎么能指定的修复路径,如果我使用以下语法从外壳内:

db.repairDatabase() 

回答

0

repairDatabase命令在当前连接到的数据库上执行,并通过扩展名在当前数据库的数据所在的路径上执行。

您可以定义使用use [dbname]命令从蒙戈外壳内要使用哪个数据库:

the docs摘自:

use <db>
切换当前数据库<db>。 mongo shell变量 db设置为当前数据库。

或者,您可以指定starting the actual shell时要使用的数据库。例如,如果你想连接到在端口27016运行my_db数据库的壳,你会用下面的命令启动蒙戈外壳:

$ mongo my_db

要找出你是哪个数据库目前使用,你可以简单地在shell中键入db,你会得到当前数据库的名称。

+0

问题是我当前的存储没有足够的存储空间来执行repairDatabase。我需要指定我的外部块存储,以便操作可以真正完成。 – user2694306 2015-03-03 11:35:25

+1

在这种情况下,您无法从外壳运行修复。您必须从命令行运行它才能更改修复路径。参见[repairDatabase](http://docs.mongodb.org/manual/reference/command/repairDatabase/#dbcmd.repairDatabase)。 – wdberkeley 2015-03-03 16:15:50