Mongodump无法按预期工作

时间:2016-10-16 13:53:17

标签: mongodb mongodump

我正在尝试在线托管我的数据库,根据我在网上找到的内容,我需要先使用mongodump导出我的数据库。

如果没有错误,使用mongodump的方法是:

mongodump -d <db-name> -o <directory>

当我使用上面的命令时,终端中出现以下错误:

Failed: error connecting to db server: no reachable servers

我尝试在--host=127.0.0.1之后添加mongodump,如下所示:

mongodump --host=127.0.0.1 -d <db-name> -o <directory>

但我仍然得到相同的结果。我在这里做错了什么?

更新

我设法通过使用以下命令启动MongoDB服务来克服错误:

brew services start mongodb

现在当我运行mongodump时,它似乎正在工作,但当我导航到它应该位于的目录时我找不到它!

注意:我正在使用Meteor技术,我使用meteor mongo命令访问我的数据库

2 个答案:

答案 0 :(得分:2)

如果您从远程服务器执行mongodump,则可能会发生版本不兼容的情况。这导致在没有任何警告的情况下没有文档被转储。 (至少从我的测试来看,mongodump 2.6.10将无法​​从mongod转发3.2.13)

另外,请确保bash特殊字符不会破坏您的查询。

示例:

mongodump --db DB_name --collection colname --query "{$or: [something1, something]}"

上一个查询无效,因为您需要使用$转义\

mongodump --db DB_name --collection colname --query "{\$or: [something1, something]}"

答案 1 :(得分:1)

你可以尝试:

从您希望创建输出文件的目录中运行mongodump --db <database> --port 3001(它将创建包含文件的转储目录)

端口是3001,因为看起来meteor并没有使用Mongodb默认端口

此外,如果没有显示任何内容,请尝试使用verbose mode-v标记运行,这将帮助您找出未创建文件的原因。另外,请确保数据库名称正确无误。