温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-04-10 12:23:52 来源:网络 阅读:6578 作者:UltraSQL 栏目:MongoDB数据库

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/ }    
      ]    
    }    
)

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI