2

Mongo シェルに配列の内容をページ全体に順次出力させる方法はありますか?

具体的には: 与えられた配列 [8888, 8888, 8888, 8888]

8888, 8888, 8888, 8888asではなくとしてレンダリングしたい

"r" : [
 8888,
 8888,
 8888,
 8888
]

それは私が得続けているものです。(実際の配列には 8888 の 84 要素があります。この例が正しく出力されることはわかっています)

さらに具体的には、John Page によって公開されているマンデルブロ フラクタルの集計コードを機能させようとしています。秘訣は、フォントサイズを非常に小さく保つことです。それでも、フォント サイズを 2 に設定し、ターミナル ウィンドウを 1000 列に設定しても、配列は縦方向に出力され続けます。

私はいくつかの実験を行いましたが、各配列要素のサイズ、文字間隔、およびフォントサイズに応じて、大まかなガイドは、角括弧 [ ] > 50 間の文字の総数または要素数の任意の配列です。 > 20 の場合、配列は垂直に印刷されます。

node.js を使用してターミナル bash シェルで同じ実験を試みましたが、これは起こりません。したがって、Mongo シェルのフォーマットの問題のようです。

Mongoシェルできれいな印刷を行うために、この回答DBQuery.prototype._prettyShell = falseの反対として使用しようとしましたが、運がありませんでした。

Page 氏は親切にもコードを自分で再度テストし、期待どおりに動作することを保証してくれました。

完全を期すために、Mac OS X 10.7.5 で MongoDB シェル バージョン 2.4.9 ターミナル バージョン 2.2.3 (303.2) を実行しています。

どうもありがとう

(注: 公開されている元のコードでは、最初のループに開き中括弧が 2 つforありませんでした。コードでこれを修正しましたが、これは問題の原因ではありません。集約の結果として生成される最終的な配列正しくレンダリングされないだけです)

4

3 に答える 3

0

コードを機能させるには、次のものが必要です。

MongoDB バージョン 2.5 以降。@NeilLunn が指摘しているように、結果の配列がページ全体に印刷されるように、出力にはカーソルが必要です。

固定幅フォントは役に立ちますが (@user3420593 が指摘しているように)、出力が @NeilLunn によって投稿された画像のようにレンダリングされる場合は、MongoDB PHP スペシャリストであるDerick Rethansが回避策を見つけました: コード内の整数出力を文字列に変換します。 '88888' と ' ' はそれぞれ 5 文字 (引用符の間には 5 つのスペース)。

モンゴ集約フラクタル

于 2014-03-28T14:45:43.880 に答える
0

固定幅フォントを使用する必要があります。各「ピクセル」は、「8888」でも「1」でも同じ長さである必要があります

于 2014-03-14T15:49:37.623 に答える