2

Codeigniter (Cimongo) で MongoDB を使用しています。データを使用してデバッグできるように、コマンド db.currentOp の結果を Web ページに出力する必要があります。

これどうやってするの?

すべての助けに感謝します!

4

1 に答える 1

3

Viewing and Terminating Current Operation from the MongoDB docs に基づいて、コマンドはデータベースdb.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.phpget()を見ると、このメソッドを使用し$cmd.sys.inprogてカーソルを受け取ることができるはずです。カーソルを使用して最初の要素を読み取ることができます。の抽象化はないようですMongoCollection::findOne()が、生の PHP でこれを行うための最初の選択肢はそれでした。

$mongo = new Mongo();
$inprog = $mongo->selectCollection('test', '$cmd.sys.inprog');
var_dump($inprog->findOne());
于 2012-07-06T21:03:48.423 に答える