2012-07-03 60 views

回答

3

根据来自MongoDB文档的Viewing and Terminating Current Operationdb.currentOp()命令仅仅是针对数据库的特殊集合$cmd.sys.inprog的查询。您也可以通过JS外壳证实了这一点:

$ mongo 
MongoDB shell version: 2.1.0 
connecting to: test 
> 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); 
} 

我没有使用CodeIgniter或Cimongo工作,但看着Cimongo.php,你应该能够使用get()$cmd.sys.inprog接收光标,你然后可以用来读取第一个元素。 MongoCollection::findOne()似乎没有任何抽象,但这将是我在原始PHP中执行此操作的首选:

$mongo = new Mongo(); 
$inprog = $mongo->selectCollection('test', '$cmd.sys.inprog'); 
var_dump($inprog->findOne());