我应该使用什么命令来创建我的数据库的MongoDB转储?


当前回答

您需要以管理员身份打开Mongo安装文件夹中的命令提示符(在我的例子中是:C:\Program Files\MongoDB\Server\3.4\ bin)。 如果你想要转储你的整个数据库,你可以使用:

mongodump --db database_name

您还可以只转储某些集合,或者转储除某些集合以外的所有集合。

如果你只想转储一个集合(例如用户):

mongodump  --db database_name --collection users

如果你想转储除用户集合以外的所有集合:

mongodump  --db database_name --excludeCollection=users

也可以将转储输出到存档文件:

mongodump --archive=test.archive --db database_name

其他回答

使用mongodump:

$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

来源:http://www.mongodb.org/display/DOCS/Import +出口+工具

有一个实用程序叫做:mongodb 在mongo命令行中,你可以输入:

>./mongodump

上面的操作将创建本地主机上所有数据库的转储。要转储单个集合,使用:

./mongodump --db blog --collection posts

看看:mongodb

Mongo转储和恢复与uri到本地

mongodump --uri "mongodb://USERNAME:PASSWORD@IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL

省略——collection COLLECTION_NAME将转储整个DB。

你也可以使用gzip备份一个集合,并在运行中压缩备份:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

或者在文件名中加上日期:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

更新: 在date文件夹中备份数据库的所有集合。文件被gzip压缩:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

或者对于单个存档:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

或者mongodb在docker内部运行时:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz

您可以转储数据库并使用bellow命令进行恢复

mongodb  -d <Your_db_name> -o <path of your folder>

例如,我的数据库名称是跟踪,我有转储在转储文件夹

mongodb  -d tracking -o dump

恢复转储

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking