我想通过命令导出MongoDB中的所有集合:
mongoexport -d dbname -o Mongo.json
结果是: 没有指定集合!
手册说,如果你不指定一个集合,所有的集合都将被导出。 然而,为什么这行不通呢?
http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--collection
我的MongoDB版本是2.0.6。
我想通过命令导出MongoDB中的所有集合:
mongoexport -d dbname -o Mongo.json
结果是: 没有指定集合!
手册说,如果你不指定一个集合,所有的集合都将被导出。 然而,为什么这行不通呢?
http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--collection
我的MongoDB版本是2.0.6。
当前回答
一些选项现在已弃用,在4.4.5版本中,我是这样做的
mongodump --archive="my-local-db" --db=my
mongorestore --archive="my-local-db" --nsFrom='my.*' --nsTo='mynew.*'
阅读更多关于恢复:https://docs.mongodb.com/database-tools/mongorestore/
其他回答
对于懒人,使用mongodb,它更快:
mongodump -d <database_name> -o <directory_backup>
然后“恢复/导入”它(从directory_backup/dump/):
mongorestore -d <database_name> <directory_backup>
这样,您就不需要单独处理所有集合。只需指定数据库。
注意,我不建议使用mongodb /mongorestore存储大数据。它非常慢,一旦超过10/20GB的数据,可能需要几个小时才能恢复。
导出所有集合:
mongodump -d database_name -o directory_to_store_dumps
要恢复它们:
mongorestore -d database_name directory_backup_where_mongodb_tobe_restored
您可以使用以下命令创建zip文件。它将创建数据库{dbname}的zip文件。稍后您可以在mongo DB中导入以下zip文件。
Window filepath=C:\Users\Username\mongo
mongodump --archive={filepath}\+{filename}.gz --gzip --db {dbname}
如果你可以接受bson格式,那么你可以使用带有相同-d标志的mongodb实用程序。它将以bson格式将所有集合转储到转储目录(默认的,可以通过-o选项更改)。然后可以使用mongorestore实用程序导入这些文件。
如果您希望将所有集合转储到所有数据库中(这是对原始提问者意图的扩展解释),则使用
mongodump
所有的数据库和集合将被创建在“当前”位置的一个名为“dump”的目录中