mongo的数据导入导出

项目整理 mongo远程导入导出数据(http://www.jb51.net/article/52498.htm)
一: 导出所有数据库
格式: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
如果没有用户谁,可以去掉-u和-p。
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉--port。
如果想导出所有数据库,可以去掉-d。
导出所有数据库:mongodump -h 127.0.0.1 -o /home/user/mongodb/
导出指定数据库:mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
4 还原数据库
格式:mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop的意思是,先删除所有的记录,然后恢复。
还原所有数据库:mongorestore /home/zhangy/mongodb/
还原指定数据库:mongorestore -d tank /home/zhangy/mongodb/tank/  #tank这个数据库的备份路径
         另外一例:mongorestore -d tank_new /home/zhangy/mongodb/tank/  #将tank还有tank_new数据库中
二:对于数据表的操作
导出格式:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --type=csv -o 文件名
例如:注意csv格式必须加-f的字段
mongoexport --host 192.168.161.246 -d augmarketing_stage -u aug -p abc123_ -c scoreHistory -q "{memberId:ObjectId('578f1323fa2f946b378b56d9')}" -f "brief,increment,reason,description,createdAt" --type=csv --out /tmp/scoreHistory_578f1323fa2f946b378b56d9.csv
导出json
mongoexport  -d wm -c scoreHistory  -q "{'reason': {'$in':['code:CPDJ01', 'code:CPDJ02', 'code:CPDJ03', 'code:CPDJ04', 'code:GWBTJL50', 'code:GWBTJL100']}}" --type=json -o /home/user/Public/scoreHistory.json
-f    导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q    可以根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
--csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点
导出整张表:mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat
导出表中部分字段:mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv
根据条件导出数据:mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json

导入格式:
1.1,还原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据
1.2,还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields根--upsert一样
1.3,还原导出的csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
上面三种情况,还可以有其他排列组合的。

还原导出的表数据:mongoimport -d tank -c users --upsert tank/users.dat
部分字段的表数据导入:mongoimport -d tank -c users  --upsertFields uid,name,sex  tank/users.dat  
还原csv文件:mongoimport -d tank -c users --type csv --headerline --file tank/users.csv
mongo 远程链接数据库:
mongo 192.168.161.246:27017/xxxx_stage -u aug -p abc123_
mongo Ip地址:端口号//选择数据库 -u 用户名 -p 密码

1. 从远程数据库拉取数据到本地json文件
mongoexport --host 192.168.161.246 --port 27017 --username xxx --password abc123 --collection member --db xxxx_stage -q "{_id: ObjectId('')}" --out /home/user/Public/member.json
2. 将本地json文件导入到本地数据库
mongoimport -d wm -c member --file ~/member.json --type json

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值