如何使用pymongo过滤慢速查询?

How to filter slow query using pymongo?

我正在尝试通过 pymongo 获得慢速查询(secs_running >= 5s)。我知道如何列出 currentOp:

client = pymongo.MongoClient('mongodb://<IP>:<Port>')
db = client.admin
op_list = db.command("currentOp")

如何从 pymongo 执行下面的 mongo 查询?

db.currentOP({"secs_running":{"$gte":5}})

我已经尝试执行以下代码,但它似乎不起作用。

op_list = db.command("currentOp",{'secs_running':{'$gte':5}})

请帮忙,谢谢!

你很接近,你需要的语法是:

op_list = db.command({'currentOp': True, 'secs_running': {'$gte': 5}})

参考:https://docs.mongodb.com/manual/reference/command/currentOp/#mongodb-dbcommand-dbcmd.currentOp