我想通过命令导出MongoDB中的所有集合:

mongoexport -d dbname -o Mongo.json

结果是: 没有指定集合!

手册说,如果你不指定一个集合,所有的集合都将被导出。 然而,为什么这行不通呢?

http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--collection

我的MongoDB版本是2.0.6。


当前回答

在尝试了许多复杂的例子后,我发现非常简单的方法对我有用。

我只是想从本地转储一个db,并将它导入到一个远程实例:

在本地机器:

mongodump -d databasename

然后我scp了我的转储到我的服务器机器:

scp -r dump user@xx.xxx.xxx.xxx:~

然后从转储的父目录简单地:

mongorestore 

然后导入数据库。

当然,假设mongodb服务正在运行。

其他回答

以下是恢复导出数据库时对我有效的方法:

Mongorestore -d 0 ./0——drop

其中。/包含导出的bson文件。注意——drop将覆盖现有数据。

您可以使用以下命令创建zip文件。它将创建数据库{dbname}的zip文件。稍后您可以在mongo DB中导入以下zip文件。

Window filepath=C:\Users\Username\mongo 

mongodump --archive={filepath}\+{filename}.gz --gzip --db {dbname}

对于转储,您的DB使用下面的CMD命令

   mongodump -d <your d name> -o <dump path>
Ex:mongodump -d qualetics -o D:\dbpackup\qualetics

按照以下步骤从服务器创建一个mongodb,并将其导入另一台服务器/本地机器,该服务器/本地机器具有用户名和密码

1. mongodump -d dbname -o dumpname -u username -p password
2. scp -r user@remote:~/location/of/dumpname ./
3. mongorestore -d dbname dumpname/dbname/ -u username -p password

导出所有集合:

mongodump -d database_name -o directory_to_store_dumps

要恢复它们:

mongorestore -d database_name directory_backup_where_mongodb_tobe_restored