Mongodb数据导出到json或csv

mongodb的bin目录下提供了一个mongoexport.exe的程序,可以用于导出数据。

使用$ mongoexport --help 可以查看相关参数的说明:

$ mongoexport --help
Export MongoDB data to CSV, TSV or JSON files.

Options:
  --help                                produce help message
 --quiet                               silence all non error diagnostic  messages 
  -h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)  主机名 默认127.0.0.1
  --port arg                            server port. Can also use --host hostname:port  端口 默认27017
  -u [ --username ] arg                 username 用户名
  -p [ --password ] arg                 password 密码

  -d [ --db ] arg                       database to use 数据库名

  -c [ --collection ] arg               collection to use (some commands)  集合名
  -f [ --fields ] arg                   comma separated list of field names  e.g. -f name,age 字段名,导出到csv时候需要
  --fieldFile arg                       file with field names - 1 per line
  --csv                                 export to csv instead of json  导出csv格式
  -o [ --out ] arg                      output file; if not specified, stdout  is used 导出文件名

  -q [ --query ] arg                    query filter, as a JSON string, e.g., '{x:{$gt:1}}'  查询条件,使用json格式

  --skip arg (=0)                       documents to skip, default 0  跳过数据,偏移,默认为0
  --limit arg (=0)                      limit the numbers of documents returned, default all 限制返回的documents数量,默认为0
  --sort arg                            sort order, as a JSON string, e.g.,  '{x:1}' 排序

eg:

导出到json:

$ mongoexport.exe  -d TestDB -c TestCollection -o  ./test.json

导出到csv:

$ mongoexport.exe  --csv -f _id,f1,f2,f3,f4,f5,f6,f7 -d TestDB -c TestCollection -o  ./test.csv

如果含有中文字符,打开csv文件可能会有乱码,用记事本另存成utf-8格式就好了。


在使用-q 查询条件过滤数据的时候,注意两边的 ’ (单引号)

当数据量很大时候,可以使用--skip 配合 --limit,限制单个文件的数据量,方便普通用户查看


另外,可以使用mongodump命令备份数据:

$ mongodump -h 127.0.0.1:27017 -d testDB -o ./data






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值