我应该使用什么命令来创建我的数据库的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 --db database_name --collection collection_name
要将备份文件导入mongodb,可以在终端上使用以下命令
mongorestore --db database_name path_to_bson_file
你也可以使用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
下面的命令连接到远程服务器来转储数据库:
<>可选参数在需要时使用它们
Host -主机名端口 监听端口用户名 db用户名db 数据库名称SSL 安全连接出去 输出到已创建的带名称的文件夹中 mongodb——host——port——username——db——ssl——password——out _date+"%Y-%m-%d"
或者你可以在Windows上做备份脚本,记得将Winrar添加到%PATH%
bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"
#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!
下面的命令将工作,采取mongo db转储。
mongodb -d -o
在Windows上:试试这个,其中c:\ mongodb是转储文件的位置, 它将创建json格式的元数据,并以bson格式进行备份
C:\MongoDB\bin> MongoDB -d -o
推荐文章
- 如何排序mongodb与pymongo
- 如何在mongodb上导入。bson文件格式
- 为什么我应该使用基于文档的数据库而不是关系数据库?
- 哪个更快/最好?SELECT *或SELECT columnn1, colum2, column3等
- 将值从同一表中的一列复制到另一列
- 什么是数据库池?
- 关于数据库,每个开发人员应该知道些什么?
- JSON文件的蒙古导入
- "where 1=1"语句
- 是使用各有一个模式的多个数据库更好,还是使用一个数据库有多个模式更好?
- 如何从Oracle的表中获取列名?
- 如何删除mongodb中的数组元素?
- 修改MongoDB数据存储目录
- 如何检查表上持有哪些锁
- 在MongoDB中查找重复的记录