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
更多推荐
所有评论(0)