Mongoに出力をきれいに印刷するように指示する方法はありますか?現在、すべてが1行に出力されており、特にネストされた配列やドキュメントの場合は読みにくいです。
Mongoに出力をきれいに印刷するように指示する方法はありますか?現在、すべてが1行に出力されており、特にネストされた配列やドキュメントの場合は読みにくいです。
回答:
(注:これは質問の元のバージョンへの回答であり、「デフォルト」の要件はありませんでした)
あなたはそれがきれいになるように頼むことができます。
db.collection.find().pretty()
あなたは付け加えられます
DBQuery.prototype._prettyShell = true
$HOME/.mongorc.js
デフォルトでグローバルにきれいに印刷できるようにするためにファイルに追加します。
$HOME/.mongorc.js
。 次に、db.users.find()。ugly()などを実行して、きれいに印刷せずに取得できます。
mongo --checkConf 'pretty'
電話ではなく、のような特別なコマンドがありますかdb.collection.find().limit(1)
(注:これは更新された質問に対する回答です)
あなたはCLIでこれを行うことができます:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
そして、それは常にきれいな結果を出力するでしょう。
基本的にjavascriptシェルなので、次のコードも使用できますtoArray()
。
db.collection.find().toArray()
ただし、これはコレクションのすべてのドキュメントを印刷pretty()
するため、繰り返し処理を行うことができません。参照:http : //docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
関数はコンソールから、関数よりも適切にフォーマットされたJSONを出力し.pretty()
ます。すなわち:私のコレクションの最初のレコードは、(問題がある可能性があります)残りの部分よりも異なっているが、.pretty()
としてそれをダンプします{ "_id" : "VERSION", "v" : "1.5" }
- 1本のライン、上のすべての.toArray()
レコードの残りの部分のような素敵な、それをフォーマットし...
Mongo-hacker(ノードモジュール)を試してみてください。 https://github.com/TylerBrock/mongo-hacker
さらに、mongoシェルを拡張します(ver> 2.4のみをサポートし、現在のverは3.0です)。
私は本番環境でしばらく使用していますが、まだ問題はありません。
$HOME/.mongorc.js
。
質問に行きましたが、外部からロードされたモンゴからそれを印刷する方法を理解できませんでした。そう:
これはコンソール用であり、コンソールで優先されますが、mongoがロードされた外部JavaScriptでは機能しません。
db.quizes.find().pretty()
これは、mongoをロードした外部のJavaScriptで機能します。
db.quizes.find().forEach(printjson)