您的位置:首页 > 数据库 > Mongodb

Mongodb数据导出到json或csv

2015-02-15 20:44 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: