加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

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

发布时间:2023-09-27 15:18:36 所属栏目:系统 来源:
导读:MongoDB查看当前操作db.currentOp()

定义

db.currentOp()

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

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

db.currentOp(<operations>)
MongoDB查看当前操作db.currentOp()
 
定义
 
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()方法过滤输出。
 
等待锁的写操作
 
下面的示例返回正在等待锁的所有写操作信息:
 
db.currentOp(   
 
   {    
 
     "waitingForLock" : true,    
 
     $or: [    
 
        { "op" : { "$in" : [ "insert", "update", "remove" ] } },    
 
        { "query.findandmodify": { $exists: true } }    
 
    ]    
 
   }    
 
)
 
没有Yields的活动操作
 
下面的示例返回所有活动的正在运行的还没有Yields的操作的信息:
 
db.currentOp(   
 
   {    
 
     "active" : true,    
 
     "numYields" : 0,    
 
     "waitingForLock" : false    
 
   }    
 
)
 
对于特定数据库的活动操作
 
下面的示例返回对于数据库db1运行时间大于3秒的所有活动操作:
 
db.currentOp(   
 
   {    
 
     "active" : true,    
 
     "secs_running" : { "$gt" : 3 },    
 
     "ns" : /^db1\./    
 
   }    
 
)
 
活动索引操作
 
下面的示例返回索引创建操作的信息:
 
db.currentOp(   
 
    {    
 
      $or: [    
 
        { op: "query", "query.createIndexes": { $exists: true } },    
 
        { op: "insert", ns: /\.system\.indexes\b/ }    
 
      ]    
 
    }    
 
)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章