2017-03-23 8 views
0

私はコレクションA、B、Cに3つのフィールドを持っています。次のコマンドを使用してcsv形式でエクスポートしています。余分なハードコーディングされた列を持つMongoexport

mongoexport --host %s -u%s -p%s --authenticationDatabase %s --db %s --collection %s --query \'%s' --type=csv --out %s --fields A,B,C 

しかし、ビジネス要件は、私は、文字列「成功」を書き込むが含まれています(私のコントロールではない、完全にパイプラインの一部として)1つのハードコードされた列Dと4列を含むように私のCSVファイルを必要とするようなものです。

私のcsvファイルが見えるように必要があります。現在、エクスポートを実行した後、私はCSVファイルでの4番目の列を追加するのawkを使用していますが、これはと直接動作することができれば、私は思っていた

A, B, C, D 
x, y, z, "success" 

mongoexport。私が考えている別のオプションは、基本的に私自身のエクスポートユーティリティヘルパーを書いて、csvに3 + 1の列を書くカスタムスクリプトを書くことです。

+0

awkがOKの場合、 'mongoexport'についてわからない' awk -F、-v OFS =、 'NR == 1 {$ 0 = $ 0 FS "D"} NR!= 1 {$ 4 = "\" Sucess \ ""} 1'' –

答えて

0

sedのバージョン(この場合は私の好み):

Mongo ... | sed '1 s/$/, D/;1! s/$/, "Success"/' 

awkのバージョン:

Mongo ... | awk '{$0 = $0 ", " (NR > 1 ? "Success" : "D")} 7' 

MongoDBの機能を知っているが、最高のは、この固定値を含む直接問い合わせることですありませんリクエストの "extra"フィールド

関連する問題