2012-08-23 9 views
6

mongo.exeでコマンドを実行しました。最も基本的なコマンドを試してみましょう。Rockmongoやmongovueでshellを実行するには?

> db.tablebusiness.find({"_id": "the-simmons-paradise__41.85_-87.88"}); 

私は結果を得た:

今、私はrockmongoで同様のコマンドを実行してください。私は

db.tablebusiness.find(
    {"_id": "the-simmons-paradise__41.85_-87.88"} 
    ); 

結果実行した場合 :

{ 
    "retval": null, 
    "ok": 1 
} 

を基本的には結果がOKまたはそのような何かであることを教えているようですか?私はわかりません。

私は手の込んだ場合

var cur = db.tablebusiness.find(
{"_id": "the-simmons-paradise__41.85_-87.88"} 
); 
cur.forEach(function(x){print(tojson(x))}); 

結果:

{ 
    "retval": null, 
    "ok": 1 
} 

同じ問題。

は私が行う場合:

function() { 
    return db.tablebusiness.find({"_id": "the-simmons-paradise__41.85_-87.88"}); 
} 

私が得た:

{ 
    "retval": { 
    "value": "DBQuery: hello.tablebusiness -> undefined" 
    }, 
    "ok": 1 
} 

それがhello.tablebusinessによって何を意味している - >未定義のは、私を超えています。上記から分かるように、mongo.exeのクエリを正常に実行できます。

rockmongoの機能は非常に限られています。私は実際にどのように結果を実際に見るのだろうか。 rockmongoでランダムなmongodbコマンドを実行し、その結果を観察する方法。

答えて

8

まず最初に私はあなたに同意する:rockmongoは現時点で非常に限定された機能を持っています。 閲覧可能なデバイスからリモートサーバーにアクセスできるため、簡単なクエリで使用します。

rockmongoの「実行」領域は"Javascript API"で実行され、mongoシェルのようには動作しません。

これを試してみてください:

function() { 
    var cur = db.tablebusiness.find(
    {"_id": "the-simmons-paradise__41.85_-87.88"} 
    ); 
    var out = []; 
    cur.forEach(function(x){out.push(x);}); 
    return(out); 
} 

あなたが上部にクエリ条件を入力して、コレクション名をクリックすると、単純なクエリを実行することができます...そして、

{"_id": "the-simmons-paradise__41.85_-87.88"} 

...と「を提出クエリ

+0

ありがとうございます!私もこれについて混乱しましたが、find()は繰り返し処理する必要のあるカーソルオブジェクトを返すようになりました。一種の痛みですが、私は今それで作業することができます。 – thaddeusmt

+0

ようこそ@thaddeusmt – baffonero

0

もう少し答えがあります - ちょっと変わったかもしれませんが、$matchコマンドでパイプラインだけを使ってaggregateメソッドを使用してください:

function() { 
    return db.tablebusiness.aggregate([ 
    { $match: { 
     "_id": "the-simmons-paradise__41.85_-87.88" 
    }} 
    ]); 
} 
関連する問題