我有一个mongo数据库实例,我想让所有客户端都连接到它。我在mongo shell中写
db.currentOp(true)
我得到了所有的客户及其财产。
如何在Java中提取数据?
我尝试了类似的方法,但是没有用:
mongoclient.getDB("local").command("currentOp")
它说没有这样的命令。
最佳答案
看来currentOp
是外壳程序上的命令,但不是所有驱动程序都支持的一流的mongodb命令。您将需要使用$cmd.sys.inprog
查询findOne()
集合。使用java
驱动程序,您可以执行以下操作(这正是currentOp
在后台进行的调用):
DB db = mongoclient.getDB("local");
DBObject currentOp = db.getCollection("$cmd.sys.inprog").findOne();
如果您在调用
currentOp
时了解幕后情况,那么您会发现:> 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 );
}
>