[解決済み] mongo のクエリの出力を csv ファイルにリダイレクトする。
質問
32ビットWindows7マシンでMongoDB 2.2.2を使っています。私は.jsファイルで複雑な集約クエリを持っています。私はシェルでこのファイルを実行し、CSVファイルに出力を指示する必要があります。私はクエリがquot;flat" json(ネストされたキーなし)を返すことを確認し、それは本質的にきちんとしたcsvに変換されます。
私が知っているのは
load()
と
eval()
.
eval()
は、クエリ全体をシェルに貼り付ける必要があり、そのため
printjson()
だけです。そして、2つ目の方法。
load()
...これは、画面に出力を表示し、再びjson形式で表示します。
Mongoがこのjsonからcsvへの変換を行うことができる方法はありますか?(私はデータでチャートを準備するためにcsvファイルが必要です)。私は考えています。
1. mongoにこのための組み込みコマンドがあるかどうかですが、今は見当たりません。
2. Mongoは私のためにそれを行うことはできません。私はせいぜいjson出力をファイルに送ることができ、それから私は自分でcsvに変換する必要があります。
3. Mongo は json 出力を一時的なコレクションに送ることができ、その中身は簡単に
mongoexported
を csv フォーマットに変換できます。しかし、map-reduceクエリだけが出力コレクションをサポートしていると思います。それは正しいですか?私は集計クエリのためにそれを必要とします。
どんな助けでもありがとうございます :)
どのように解決するのですか?
私はこの質問が古いことを知っていますが、複雑なクエリをcsvにエクスポートしようとして1時間を費やしたので、私は私の考えを共有したいと思いました。 最初に、私はjsonからcsvへのコンバータのいずれかを動作させることができませんでした(しかし この は期待できそうでしたが)。 結局、mongo スクリプトで csv ファイルを手動で書き込むことにしました。
これは単純なバージョンですが、本質的に私が行ったことです。
print("name,id,email");
db.User.find().forEach(function(user){
print(user.name+","+user._id.valueOf()+","+user.email);
});
これはクエリを標準出力にパイプしただけです。
mongo test export.js > out.csv
ここで
test
は私が使っているデータベースの名前です。
関連
-
[解決済み] 配列のサイズが1より大きい文書を検索します。
-
[解決済み] Mongodb ホットフィックス KB2731284
-
[解決済み] Mongodbでキーに基づいた重複を削除する方法は?
-
[解決済み] mongodb サーバーに接続しようとすると、mongo コマンドが認識されません。
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
MongoDBラーニングノート
-
[解決済み】MongoDBで整数を挿入しようとすると、浮動小数点が挿入される。
-
[解決済み] Mongoose Unique インデックスが機能しない!
-
[解決済み] MongoDB: フィールドがNULLまたは未設定のレコードを検索するには?
-
[解決済み] MongoDBでObjectIDの代わりにUUIDを使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MongoDBデータベースの名前を変更する方法とは?
-
[解決済み] Mongodb ホットフィックス KB2731284
-
[解決済み] MongoDB - シンプルなサブクエリの例
-
[解決済み] 条件付きでMongoDBを更新する
-
[解決済み] mongodb Failed: error connecting to db server: no reachable servers
-
[解決済み】Node.jsでMongooseを使用してページングする方法は?
-
[解決済み】MongoDBのすべてのドキュメントのフィールド名を変更するにはどうすればよいですか?
-
[解決済み] mongo グループクエリ フィールドを保持する方法
-
[解決済み] MongoDB: フィールドがNULLまたは未設定のレコードを検索するには?
-
[解決済み] MongoDBでサブドキュメントの配列をフィルタリングする方法 [重複] (英語)