Mongodump 没有按预期工作

Mongodump doesn't work as expected

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

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

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

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

Failed: error connecting to db server: no reachable servers

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

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

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

更新:

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

brew services start mongodb

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

注意:我正在使用 Meteor 技术,我正在使用 meteor mongo 命令

访问我的数据库

你可以试试:

运行 mongodump --db <database> --port 3001 从您要创建输出文件的目录(它将使用文件创建一个转储目录)

端口是 3001,因为 meteor 似乎没有使用 Mongodb 默认端口

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

如果您从远程服务器执行 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]}"