MongoDB7.0一些有用的功能
摘要
-
本文介绍MongoDB7.0的一些有用的功能,比如运行js,查看慢查询日志等等
-
MongoDB官方文档
-
本文基于
CentOS8(x86_64)
运行js
-
运行js文件
insertMany.js
1 | var tags = ['nosql', 'mongodb', 'document', 'developer', 'popular'] |
1 | # -f 运行js文件 |
-
运行js语句
1 | # ---eval 运行js语句 |
Profiler模块
-
Profiler模块可以用来记录、分析MongoDB的详细操作日志,默认情况下该功能是关闭的。
-
Profiler模块开启对于每个业务库来说是独立的,对某个业务库开启Profiler模块之后,符合条件的慢操作日志会被写入该库的
system.profile
集合中。 -
Profiler模块的调试级别有:
1 | 0:关闭Profiler模块; |
-
设置Profiler模块的调试级别:
1 | # 设置Profiler模块的调试级别为2 |
-
查看日志
1 | # 查看操作日志 |
-
system.profile
是一个1MB的固定大小的集合,随着记录日志的增多,一些旧的记录会被滚动删除。 -
Profiler模块的设置是内存级的,重启服务器后会自动恢复默认状态。
db.currentOp()
-
Profiler模块所记录的日志都是已经发生的事情,
db.currentOp()
命令则与此相反,它可以用来查看数据库当前正在执行的一些操作。 -
db.currentOp()读取的是当前数据库的命令快照,该命令可以返回许多有用的信息,比如:
1 | 操作的运行时长,快速发现耗时漫长的低效扫描操作。 |
1 | > db.currentOp() |