参考链接地址: https://www.cnblogs.com/xiaotengyi/p/6393972.html
个人笔记:
导出单个库: /usr/local/web/mongodb/bin/mongodump -h 127.0.0.1 -d enjoychat -o /data/mongodb -u admin -p password --authenticationDatabase admin [备注自动生成数据库文件在/data/mongodb 目录 ]
导入单个库: /usr/local/web/mongodb/bin/mongorestore -h 127.0.0.1 -d enjoychat /data/mongodb/enjoychat/ [备注: 可以先删除对应的数据库]
windows 导入其他远程库命令例子:
mongodump -h 远程库ip或者域名 -d enjoychat -o D:\laragon\bin\mongodb\mongodb-win32-x86_64-2008plus-ssl-4.0.2-76-g279a1f51b9\data -u admin -p password --authenticationDatabase admin
mongorestore -h 本地库ip或者域名 -d enjoychat D:\laragon\bin\mongodb\mongodb-win32-x86_64-2008plus-ssl-4.0.2-76-g279a1f51b9\data\enjoychat --drop
-
找到MongoDB安装的bin目录,发现此目录下拥有mongoexport.exe、mongoimport.exe、mongodump.exe、mongostore.exe 等可执行文件
2.在此目录执行cmd命令:2.1: 导出单个集合
{ mongoexport -h 数据库所在主机地址 -d 要导出的数据库名称 -c 集合名称 -o 输出多的json文件绝对路径 [ -u username -p password --authenticationDatabase admin ] }
mongoexport -h 127.0.0.1 -d test -c article -o C:\Users\zhang\Desktop\mongodb\article.json
2.2: 导入单个集合
**{mongoimport --db dbname --collection collectname --file json(导入文件的绝对路径) }**
2.3: 导出所有集合
**{ mongodump -h host -d dbname -o directory(默认会追加dbname的文件夹) [ -u username -p password --authenticationDatabase admin ] }**
mongodump -h 127.0.0.1 -d test -o C:\Users\zhang\Desktop\mongodb
2.4: 导入所有集合
**{mongorestore.exe -h dbhost -d dbname -directoryperdb dbdirectory [ -u username -p password ]}**
3: 命令的解释
- -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
- --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
- -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
- -p,--password:代表连接数据库的账号对应的密码;
- -d,--db:代表连接的数据库;
- --authenticationDatabase admin: 代表认证数据库
- -c,--collection:代表连接数据库中的集合;
- -f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
- --type:代表导出输出的文件类型,包括csv和json文件;
- -o, --out:代表导出的文件名;
- -q, --query:代表查询条件;
- --skip:跳过指定数量的数据;
- --limit:读取指定数量的数据记录;
- --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。