我们在开发的过程中,往往会有一些需求是要对数据做统计和分析的,但是mongo不像sql那么的灵活和操作性没那么强,所以我们一般也都是写到日志里面捞数据或者是直接mongo导出数据给统计平台用,下面介绍一下相关的一些操作和实例。
我们mongo导出数据一般都是要用到官方的一个导出工具:mongoexport
上面链接可以看到完整的相关参数和说明,下面我列一些我们日常比较常用的一些参数:
参数说明:
- -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
- --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
- -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
- -p,--password:代表连接数据库的账号对应的密码;
- -d,--db:代表连接的数据库;
- -c,--collection:代表连接数据库中的集合;
- -f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
- --type:代表导出输出的文件类型,包括csv和json文件;
- -o, --out:代表导出的文件名;
- -q, --query:代表查询条件;
- --skip:跳过指定数量的数据;
- --limit:读取指定数量的数据记录;
- --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。
这是我这边的一个临时的游戏战力表:
数据库名:elo
表名: power_rm_feidao
字段:_id,power,nowTime,all_count,win_count
导出json数据:
mongoexport -h 127.0.0.1 -d elo -c power_rm_feidao -f _id,power,all_count,win_count --type=json -o power_rm_feidao.json
导出csv数据:
mongoexport -h 127.0.0.1 -d elo -c power_rm_feidao -f _id,power,all_count,win_count --type=csv -o power_rm_feidao.csv
大功告成,这样在本地就可以看到相关的文件了