mongoimport を使用して csv ファイルをインポートしました。具体的には、このデータセット:
私が抱えている問題は、description
フィールドにあります。
[{"landing_point_id":3522,"latlon":"51.898325,-8.472768","name":"Cork, Ireland"}]
これはオブジェクトの配列だと思うので、次のようにマングース モデルを作成しています。
description: [{
landing_point_id: Number,
latlon: String,
name: String
}],
しかし、これにより空の配列が得られます。の型を に設定するとdescription
、String
値は取得されますが、もちろん文字列として取得されるため、プロパティにはアクセスできません。
"description" : "[{\"landing_point_id\":8398,\"latlon\":\"52.207114,1.620294\",\"name\":\"Sizewell, United Kingdom\"}]"
したがって、問題は、フィールドを にしたいときにフィールドdescription
が であることのようです。String
Array
ここでの回答に従って、文字列から配列に変換しようとしましたが、うまくいきませんでした。
db.cables.find().snapshot().forEach(function (el) {
el.description_array = [ el.description ];
db.cables.save(el);
});
これは、文字列を別の配列にラップするだけです。
"description_array" : [ "[{\"landing_point_id\":8398,│ col10: '',
\"latlon\":\"52.207114,1.620294\",\"name\":\"Sizewell, United Kingdom\"}]" ]
そして同じ
el.description_array = new Array(el.description);
これを解決する方法はありますか?
インポートする前にcsvファイルで編集して、mongoimportが正しく解釈できるものはありますか?