我正在编写一个使用mongo作为其数据库的应用程序.我想打印连接到db的客户端,例如,打印他们的ip.我怎样才能获得这些信息?
我试过用
db.serverStatus().connections
Run Code Online (Sandbox Code Playgroud)
但它给了我访问我的数据库的计算机数量.
Joh*_*one 13
您应该能够运行此命令并获取已连接IP地址的列表:
db.currentOp(true).inprog.forEach(function(d){if (d.client)printjson(d.client)})
Run Code Online (Sandbox Code Playgroud)
db.currentOp实际上构建在特殊集合$ cmd.sys.inprog之上,因此您也可以直接查询它.您可以通过在没有括号的db.currentOp中键入mongo shell来了解如何执行此操作,它将打印出该函数的源:
> db.currentOp
function ( arg ){
var q = {}
if ( arg ) {
if ( typeof( arg ) == "object" )
Object.extend( q , arg );
else if ( arg )
q["$all"] = true;
}
return this.$cmd.sys.inprog.findOne( q );
}
Run Code Online (Sandbox Code Playgroud)