python - 无论如何使用python打印客户端IP地址?
问题描述
db.currentOp(true).inprog.forEach(function(d){if(d.client)print(d.client, d.connectionId)})
输出:
127.0.0.1:64629 383
127.0.0.1:56878 363
我使用此命令在 shell 中获取客户端的 IP 地址。有没有办法在python中得到它?
解决方案
手册页db.currentOp
说_
db.currentOp 包装了数据库命令 currentOp。
因此,一旦我们知道这一点,我们就可以使用db.command()
in pymongo,并复制您的 javascript,如下所示:
from pymongo import MongoClient
db = MongoClient()['admin']
command_result = db.command({'currentOp': 1})
inprogs = command_result.get('inprog')
for inprog in inprogs:
if 'client' in inprog:
print(inprog.get('client'), inprog.get('connectionId'))
给出(例如):
172.17.0.1:39734 15
推荐阅读
- azure - 为什么 ADF 数据集很重要?
- c# - 如何将类的字段引用为某个对象,然后使用该对象稍后获取该字段的值?
- sql - 具有左连接的雄辩查询返回 Laravel 中实际值总和的两倍
- python - Databricks 小部件
- excel - Excel 未报告循环错误
- c# - .Net Core:无法将“geography”参数传递给 SQL Server 存储过程
- raku - 如何将 LEAVE 移相器导出到 use 语句的外部范围
- css - 网格布局以及如何设置多个单元格的样式
- android - 如何使用科尔多瓦从 APK 文件构建中获取科尔多瓦版本号。
- java - 当使用 Spring Security 的 IF_REQUIRED 会话创建策略时,创建新会话必须满足哪些条件?