迁移方法一
使用mongo自带命令来迁移数据,思路是先导出集合数据再导入到数据库中
导出命令:mongoexport
语法:mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field
-d:数据库名
-c:集合名称
-o : 导出数据文件的路径
-type : 导出数据类型,默认json
导入命令:mongoimport
语法:mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
-d:数据库名
-c:集合名称
--file : 选择导入的文件
-type : 文件类型,默认json
-f : 字段,type为csv是必须设置此项
mongodb远程数据库的连接以及备份导入导出数据
环境win10;
运行cmd cd到目录mongodb的bin目录:
连接远程mongodb:
连接命令:mongo -u username -p pwd host:post/database(数据库名)
当该用户有相应权限时,可以查看collection==>查看集合命令:show collections
导出命令:mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
详细解释:
-h:mongodb所在的服务器地址(必须指定端口),不指定的话就是本地的127.0.0.1:27017
-u:用户名
-p:密码
-d:需要备份的数据库(导出整个mongodb就去掉)
-o:备份的数据存放的位置
mongodump备份还原数据库
格式: mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop是先删除所有的数据,再恢复,不需要删除可不加;
mongoexport导出表,或导出表中部分字段:
命令格式:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名的具体路径(后缀格式可以是.dat或.csv);
mongoimport导入表,或者表中部分字段 :
1.还原整表导出的非csv文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名的具体路径 (--drop当不需要删除源文件可不加)
2.还原部分字段的导出文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名的具体路径 (--drop当不需要删除源文件可不加)
3.还原导出的csv文件(导出数据时如果不加--csv选项,导出的数据就会存在很多双引号,导入就会失败)
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型(csv) --headerline --upsert --drop 文件名的具体路径
注意:如果数据库存在数据,要导入最新的数据,则需要加--upsert选项,会更新数据,否则会报错(提示重复键错误收集)