103

32 ビット Windows7 マシンで MongoDB 2.2.2 を使用しています。.js ファイルに複雑な集計クエリがあります。このファイルをシェルで実行し、出力を CSV ファイルに送信する必要があります。クエリが「フラットな」json (ネストされたキーなし) を返すことを確認するため、本質的にきちんとした csv に変換できます。

と について知っていload()ますeval()eval()クエリ全体をシェルに貼り付ける必要がありprintjson()、スクリプト内でのみ許可されますが、csv が必要です。そして、2 番目の方法: load()..出力を画面に出力し、再び json 形式で出力します。

Mongo がこの json から csv への変換を行う方法はありますか? (データのグラフを準備するには csv ファイルが必要です)。私は考えています:

1.いずれかのmongoには、今のところ見つけることができない組み込みコマンドがあります。
2. Mongo にはできません。せいぜいjson出力をファイルに送信してから、自分でcsvに変換する必要があります。
3. Mongo は、json 出力を一時コレクションに送信できます。その内容は、簡単mongoexportedに csv 形式にすることができます。しかし、map-reduce クエリだけが出力コレクションをサポートしていると思います。そうですか?集計クエリに必要です。

助けてくれてありがとう:)

4

8 に答える 8

127

Mongo の組み込みエクスポートは、日付の書式設定、データ型の隠蔽などのデータ操作を行わない限り、正常に機能しています。

次のコマンドはチャームとして機能します。

    mongoexport -h localhost -d databse -c collection --type=csv 
    --fields erpNum,orderId,time,status 
    -q '{"time":{"$gt":1438275600000}, "status":{"$ne" :"Cancelled"}}' 
    --out report.csv
于 2015-09-07T03:29:44.607 に答える
5

これを見てください

mongo シェルからファイルへの出力用。mongos シェルからの csv の出力はサポートされていません。JavaScript を自分で作成するか、利用可能な多くのコンバーターのいずれかを使用する必要があります。たとえば、Googleは「jsonをcsvに変換」します。

于 2013-01-23T11:38:52.087 に答える