MongoDB数据库导出

3.导出数据

MongoDB中的mongoexport工具可以把一个库中的collection导出成JSON格式或CSV格式的文件。可以通过指定的内置参数导出数据项,当然导出的时候可以排序和指定条件。

查看mongo信息,安装位置/启动方法等

$brewinfo mongo

mac 采用brew安装,位置/usr/local/Cellar/mongodb, 版本可能不同,依据查看的信息即可找到.

$ cd/usr/local/Cellar/mongodb/3.4.0/bin $ ls  bsondump    mongodump    mongoimport    mongorestore    mongotop mongo        mongoexport     mongooplog    mongos mongod        mongofiles    mongoperf    mongostat

比如我们查看mongoexport的使用方法

#即可 $ ./mongoexport --help ....

3.1语法

mongoexport -h dbhost -d dbname -c collectionName -o output

-h  arg     主机 --port arg  端口 -u  arg     用户名 -p  arg     密码 -d  arg     数据库 -c  arg     集合 -f  arg     字段名 逗号隔开 -q  arg     查询条件 json格式 --csv       导出csv格式 -o  arg     导出的文件名

3.2实例一[json格式]

导出test数据库中的users集合,格式默认为json

$ mongoexport -d test -c users -o /Users/51testing/Desktop/users 2017-03-30T10:24:03.147+0800connected to: localhost 2017-03-30T10:24:03.147+0800exported 4 records

注意事项

can notuse--fieldswheninputtypeisJSON

3.3实例二[csv格式]

如果我们需要导出CSV格式的数据,则需要使用–csv参数,具体如下所示:

CSV定义

CSV(逗号分隔值文件格式): 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

导出test数据库中的users集合中的"name,age"字段,中间不可有空格

$ mongoexport -d test -c users --type=csv -f"name,age"-o/Users/51testing/Desktop/user_csv12017-03-30T10:40:19.909+0800connectedto:localhost2017-03-30T10:40:19.909+0800exported4records

脑洞�----怎么全部导出所有字段????

答案: 老实点, 一个个写吧.

3.4实例三[添加query]

导出test数据库中的users集合中的"name,age"字段,中间不可有空格, 并且只筛选age大于20的数据

BWF-huanghaowei:bin51Code$ mongoexport -d test -c users --type=csv -f"name,age"-q'{age:{$gt: 20}}'-o/Users/51testing/Desktop/user_csv22017-03-30T11:06:53.023+0800connectedto:localhost2017-03-30T11:06:53.047+0800exported1record

结果如下,满足以上的需求

name,age lisi,29

你可能感兴趣的:(MongoDB数据库导出)