Mongoにきれいな印刷出力をする方法はありますか?現在のところ、すべてが1行に出力されているため、特に入れ子になった配列や文書では読みにくくなっています。
(注:これは、 "default"の要件を持たなかった質問の元のバージョンに対する回答です)
あなたはそれがきれいであるように頼むことができます。
db.collection.find().pretty()
あなたは付け加えられます
DBQuery.prototype._prettyShell = true
デフォルトでプリティプリントをグローバルに有効にするには、$HOME/.mongorc.js
内のファイルに追加します。
(注:これは更新された質問に対する回答です)
CLIでこれをすることができます:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
そしてそれはいつもきれいな結果を出力するつもりです。
これは基本的にはJavaScriptシェルなので、toArray()
を使用することもできます。
db.collection.find().toArray()
しかし、これはコレクションのすべてのドキュメントを印刷します。これはpretty()
とは異なり、繰り返しが可能になります。参照してください: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
ああ、私は.pretty()がに等しいと思います:
db.collection.find().forEach(printjson);
Mongo-hacker(ノードモジュール)を試してみてください、それは常にきれいに印刷されます。 https://github.com/TylerBrock/mongo-hacker
さらにそれはmongo Shellを強化します(ver> 2.4のみをサポートし、現在のverは3.0です)。
プロダクション環境ではまだ問題はありません。
質問に行きましたが、外部からロードされたmongoからそれを印刷する方法を理解することができませんでした。そう:
これはconsole:のためのもので、consoleで推奨されていますが、外部のmongo搭載のJavaScriptでは機能しません。
db.quizes.find().pretty()
これは外部のmongo搭載のJavaScriptで動作します。
db.quizes.find().forEach(printjson)