MongoDB查看当前操作db.currentOp()

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

定义


db.currentOp()   
    返回数据库实例上正在运行的操作信息的文档。 

   
    db.currentOp()方法有如下格式:    
    db.currentOp(<operations>)    


    db.currentOp()方法可使用如下可选参数:    
    参数            类型            描述    
    operations    布尔值或文档    可选。指定报告的操作。可以输入布尔值或一个文档。    
                    指定true,包含空闲连接和系统操作。    
                    指定带有查询条件的文档,只报告匹配条件的操作。

行为

如果传递true给db.currentOp(),该方法返回所有操作的信息,包括空闲连接和系统操作。   
db.currentOp(true)  

  
传递true等于传递了一个查询文档{ '$all': true }。

如果传递一个查询文档给db.currentOp(),只返回匹配查询条件的当前操作。

你也可以指定{ '$all: true }查询文档返回所有正在运行的操作信息,包括空闲连接和系统操作。如果

查询文档包括 '$all':true 以及其他查询条件,只会应用 '$all': true。


访问控制

在系统上运行用户授权验证,用户必须有访问inprog行为的权限。


示例

下面的示例使用带有不同查询文档的db.currentOp()方法过滤输出。


等待锁的写操作

下面的示例返回正在等待锁的所有写操作信息:

1
2
3
4
5
6
7
8
9
db.currentOp(   
    {    
      "waitingForLock"  true ,    
      $ or : [    
         "op"  : {  "$in"  : [  "insert" "update" "remove"  ] } },    
         "query.findandmodify" : { $exists:  true  } }    
     ]    
    }    
)


没有Yields的活动操作

下面的示例返回所有活动的正在运行的还没有Yields的操作的信息:

1
2
3
4
5
6
7
db.currentOp(   
    {    
      "active"  true ,    
      "numYields"  : 0,    
      "waitingForLock"  false    
    }    
)


对于特定数据库的活动操作

下面的示例返回对于数据库db1运行时间大于3秒的所有活动操作:

1
2
3
4
5
6
7
db.currentOp(   
    {    
      "active"  true ,    
      "secs_running"  : {  "$gt"  : 3 },    
      "ns"  : /^db1\./    
    }    
)


活动索引操作

下面的示例返回索引创建操作的信息:

1
2
3
4
5
6
7
8
db.currentOp(   
     {    
       $ or : [    
         { op:  "query" "query.createIndexes" : { $exists:  true  } },    
         { op:  "insert" , ns: /\.system\.indexes\b/ }    
       ]    
     }    
)

参见:https://docs.mongodb.org/manual/reference/method/db.currentOp/

















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1706393,如需转载请自行联系原作者



相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
5月前
|
NoSQL JavaScript 前端开发
如何使用 Node.js 连接和操作 MongoDB 数据库?
如何使用 Node.js 连接和操作 MongoDB 数据库?
243 2
|
4月前
|
NoSQL MongoDB Python
深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。
70 0
|
8天前
|
NoSQL MongoDB
MongoDB代码操作
MongoDB代码操作
|
18天前
|
NoSQL MongoDB 数据库
MongoDB黑窗口操作(CRUD)
MongoDB黑窗口操作(CRUD)
|
1月前
|
缓存 NoSQL 关系型数据库
【MongoDB】MongoDB更新操作时是否立刻fsync到磁盘?
【4月更文挑战第2天】【MongoDB】MongoDB更新操作时是否立刻fsync到磁盘?
|
1月前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
4月前
|
机器学习/深度学习 自然语言处理 NoSQL
|
4月前
|
存储 NoSQL MongoDB
Python小姿势 - Python操作MongoDB数据库
Python小姿势 - Python操作MongoDB数据库
|
7月前
|
NoSQL API MongoDB
Python使用PyMongo4.x操作MongoDB总结
PyMongo是一个Python编程语言中用于连接和操作MongoDB数据库的库。它提供了丰富的功能和API,使开发者能够在Python中轻松地进行MongoDB的数据交互和管理。
89 2
|
8月前
|
NoSQL JavaScript Java
MongoDB 入门教程系列之三:使用 Restful API 操作 MongoDB
MongoDB 入门教程系列之三:使用 Restful API 操作 MongoDB
85 0