我正在使用带有Codeigniter(Cimongo)的MongoDB,我需要打印出来自的结果 网页上的命令db.currentOp,以便我可以使用数据进行调试。
我该怎么做?
感谢所有人的帮助!
答案 0 :(得分:3)
基于MongoDB文档中的Viewing and Terminating Current Operation,db.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());