将数据从db.currentOp打印到网页

时间:2012-07-03 15:02:42

标签: mongodb

我正在使用带有Codeigniter(Cimongo)的MongoDB,我需要打印出来自的结果 网页上的命令db.currentOp,以便我可以使用数据进行调试。

我该怎么做?

感谢所有人的帮助!

1 个答案:

答案 0 :(得分:3)

基于MongoDB文档中的Viewing and Terminating Current Operationdb.currentOp()命令只是对数据库的特殊$cmd.sys.inprog集合的查询。您也可以通过JS shell确认这一点:

$ 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());