MongoDB运维—导出查询结果到文本中
-
1、概述
- 相信大家会经常遇到这样的问题,在MongoDB的shell中查询结果集过大时,就直接刷屏了,在想回头查看前面的查询结果集时就找不到了。
- 遇到这样的问题需要如何解决呢?
- 其实很简单,下面是操作的具体步骤:
2、首先创建一个top.js文本文件
- 操作命令如下:
[root@ggtest1 ~]# vi top.js var c=db.runCommand({top: 1}); printjson(c); [root@ggtest1 ~]#
- 注:使用vi命令创建一个top.js文本文件,在此文本文件中输入需要查询的命令以及printjson()命令,详细情况见上面。
3、使用linux的输出重定向执行查询
- 操作命令如下:
[root@ggtest1 ~]# mongo localhost:27018/admin top.js > top1.json [root@ggtest1 ~]#
- 注:这里需要使用linux的输出重定向符“>”把执行的查询结果集保存到top1.json中。
4、使用linux的more命令查看输出的结果集top1.json
- 操作命令如下:
[root@ggtest1 ~]# more top1.json MongoDB shell version: 3.2.8 connecting to: localhost:27018/admin { "totals" : { "note" : "all times in microseconds", "admin.person3" : { "total" : { "time" : 44172304, "count" : 285699 }, "readLock" : { "time" : 9475, "count" : 1496 }, "writeLock" : { "time" : 44162829, "count" : 284203 }, "queries" : { "time" : 123, "count" : 1 }, "getmore" : { "time" : 0, "count" : 0 }, "insert" : { "time" : 44162829, "count" : 284203 }, "update" : { "time" : 0, "count" : 0 }, "remove" : { "time" : 0, "count" : 0 }, "commands" : { "time" : 0, "count" : 0 } }, "admin.person4" : { "total" : { "time" : 13078406, "count" : 50298 }, "readLock" : { "time" : 53560, "count" : 1411 }, "writeLock" : { "time" : 13024846, --More--(3%)
- 注:也可以使用cat top1.json |more命令来进行分页查看,而直接使用more命令就可以进行分页查看。