Tech Sketch Bucket of Technical Chips by TIS Inc.

MongoDB Tips — 実行結果をファイルに出力 —

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの冨樫です。

今回は MongoDB の Tips として、実行結果をファイルに出力する方法をご紹介致します。

実行結果をファイル出力させる方法ですが、mongo shell 自体にはファイルを出力する機能が用意されてないため、リダイレクトによって実現させます。

と言っても特に難しい処理をするわけではなく、以下のような js ファイルを用意し、

その js ファイルを実行した結果をリダイレクトさせるだけで、実行結果をファイルに出力させることができます。

別段特殊なことはやっていませんが、 js ファイルで注意する点としては2行目で、結果を全てシェル上に表示させれるようにしているところです。この設定をしないと、21行目以降のドキュメントについては、

と表示され、リダイレクトによって出力されたファイルに表示されない状態になってしまいます。

また mongo コマンドを実行する際に、"--quiet" オプションを指定していますが、これは出力結果に Mongo のバージョン等を表示させないようにしています。

説明としては以上です。ただ、これだけでは内容として少し寂しいので、テストデータを用意して、実際にファイル出力を試してみようかと思います。データ自体は何でもよいですが、ワンライナーで fizzbuzz してみたので、よろしければ mongo shell にコピペしてご利用ください。

テストデータが用意できたら、jsファイルを作って行きましょう。 せっかくなので fizzbuzz(15の倍数) のみを取得してみようかと思います。

js ファイルが用意できたら、コマンドを実行してファイルを出力させてみましょう。

出力した result.txt 内に 21行以降のドキュメントも表示されている事を確認してください。

ファイル出力は、頻繁に使うことは無いかと思いますが、覚えておくと何かと役立てる場面があるのではと思います。

エンジニア採用中!私たちと一緒に働いてみませんか?