我想通过命令导出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。
当前回答
如果您希望将所有集合转储到所有数据库中(这是对原始提问者意图的扩展解释),则使用
mongodump
所有的数据库和集合将被创建在“当前”位置的一个名为“dump”的目录中
其他回答
请让我们知道您在哪里安装了Mongo DB?(Ubuntu或Windows)
Windows:
在导出之前,您必须在cmd提示符中连接到您的Mongo DB,并确保您能够连接到您的本地主机。 现在打开一个新的cmd提示符并执行以下命令, mongodb——db数据库名——out保存路径 例如:mongodb——db mydb——out c:\TEMP\op.json 详情请访问https://www.youtube.com/watch?v=hOCp3Jv6yKo。
Ubuntu的:
登录到安装Mongo DB的终端,确保能够连接到Mongo DB。 现在打开一个新终端,执行下面的命令, mongodb -d数据库名称-o要保存的文件名 例如:mongodb -d mydb -o output.json 详情请访问https://www.youtube.com/watch?v=5Fwd2ZB86gg。
对于懒人,使用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
一些选项现在已弃用,在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/
对于本地和远程转储和恢复:
为当地
当地的转储
mongodump -d mydb -o ./mongo-backup
当地的恢复
mongorestore -d mydb ./mongo-backup/mydb
为远程
远程转储
mongodump --uri "mongodb+srv://Admin:MYPASS@appcluster.15lf4.mongodb.net/mytestdb" -o ./mongo-backup
远程恢复
mongorestore --uri "mongodb+srv://Admin:MYPASS@appcluster.15lf4.mongodb.net/mytestdb" ./mongo-backup/mytestdb
更新:
如果你正在使用mongo 4.0,你可能会遇到一个快照错误,那么你可以运行这个参数:——forceTableScan。更多信息请参见这里。错误是这样的:
mongodump error reading collection: BSON field 'FindCommandRequest.snapshot' is an unknown field.