MongoDB:数据导入、导出

一、数据导出


# 查看帮助文档
mongoexport  --help

mkdir /mbak

# a. csv格式(必须加-f指定字段名列表)
mongoexport  --host  192.168.4.51  --port 27051  -d bbsdb  -c  c2 -f  name,school --type=csv  > /mbak/c2.csv

# b. json格式
mongoexport  --host  192.168.4.51  --port 27051  -d bbsdb  -c c2   --type=json  > /mbak/c2.json

二、数据导入


# 查看帮助文档
mongoimport --help

# a. json格式的导入
mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
-c  col  --type=json   /mbak/c2.json

# b.csv格式的导入
mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
-c  stu --headerline  --type=csv   /mbak/c2.csv            //导入时忽略标题

mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb \
-c  tea  -f name , school  --type=csv   /mbak/c2.csv     //导入时不忽略标题

mongoimport     --host  192.168.4.51  --port 27051  -d  gamedb  \
-c  tea  -f name , school  --type=csv   --drop  /mbak/c2.csv        //删除原数据再导入

三、总结并示范


1)导入数据,若库和集合不存在,则先创建库和集合后再导入数据
2)若库和集合已经存在,则以追加的方式导入到数据集合里

范例:把系统用户信息 (/etc/passwd ) 存储到 mongodb服务器 userdb库下coluser集合里

a.先创建结构

> use  userdb
> db.coluser.save({
... name:"yaya",
... password:"x",
... uid:1,
... gid:1,
... comment:"my teacher",
... homedir:"/home/yaya",
... shell:"/bin/bash"
... })
>db.coluser.find();

b.导出数据

mongoexport --host 192.168.4.51  --port 27051   -d userdb  -c coluser  -f \
name,password,uid,gid,comment,homedir,shell  --type=csv  > /mbak/coluser.csv

c.拷贝 、修改生成coluser.csv

cp /etc/passwd /mbak/
cd  /mbak
sed -i 's/:/,/g' passwd 
sed -i  '2r passwd'  coluser.csv

d. 导入数据

mongoimport  --host  192.168.4.51  --port 27051  -d userdb  -c \
coluser  --headerline --drop  --type=csv /mbak/coluser.csv

e. 验证结果

> db.coluser.find()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值