MongoDBへCSVインポートするときフィールドの型を指定するには

mongoimportでcsvファイルをインポートする時。

csvの数字を例えば”1234″のように”(ダブルクォート)で囲っても、文字列として取り込まれずに、Numberへ変換されてしまうようです。

むむむ。

フィールドごとに型を指定してインポートする方法を記録しておこうと思います。


CSVを作る際の注意点

1. 列ごとの型の指定

csvファイルを作る時、1行目のヘッダに、型を書いておくと良さそうです。

この例では、1列目をdate.string()、2列目をcode.string()のようにフィールド名と同時にstring型を指定しています。

使用できる型は、mongoimportドキュメントの–columnsHaveTypes欄に記載されています。

autoが既定値かと思いますが、stringやdouble等、使いたい型を選択して指定すれば良いようです。

2. 余計な空白の除去

CSVを作る段階で、空白のトリムも行っておいた方が良さそうです。

3. UTF-8に変換

CSVの文字コードはUTF-8に変換しておきます。


mongoimportの取り込みオプション

次のようなオプションを使用しました。

–headerlineオプションと–columnsHaveTypesオプションを有効にすることで、CSVの1行目に記載したフィールド名と型が有効になるようです。


新たにデータベースを作る場合の覚書

mongoコマンドでmongoDB shellを起動。

何かドキュメントを入れるとshow dbsに反映されて、Mongo Express等から見えるようになるようです。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク