如何查看我的mongodb正在执行的查询?

时间:2013-02-20 00:28:07

标签: mongodb

我一直在我的log / development.log中看到这个,我想知道这个查询是否实际上是在我的数据库中执行的:

MONGODB (0ms) socialcrunch_development['tags'].find({:_id=>"secrets"}).limit(-1).sort([[:_id, :asc]])

我可以看到我的mongo数据库上执行的查询,所以我可以统计它们,它们通常都是.find命令,还是我应该寻找其他东西?

2 个答案:

答案 0 :(得分:7)

打印所有有效读数:

db.currentOp().inprog.forEach(
   function(d){
     if(d.waitingForLock && d.lockType != "read")
        printjson(d)
     })

打印所有活动的写入:

db.currentOp().inprog.forEach(
   function(d){
     if(d.waitingForLock && d.lockType != "write")
        printjson(d)
     })

如果您愿意,可以使用currentOp.op按特定操作类型(插入,更新,删除等)进行过滤,从而获得更多细化。

有关详细信息,请查看MongoDB.org文档中的以下页面: http://docs.mongodb.org/manual/reference/current-op/

答案 1 :(得分:1)

http://www.mongovue.com/提供了良好的ui接口来检查服务器的运行时状态