Я использовал mongoimport для импорта CSV-файла. Этот набор данные, чтобы быть конкретными:MongoDB: Преобразование типа поля из строки в массив
Проблемы я имею с 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 интерпретировать его правильно?
Большое спасибо! А также для помощи с координатами (была следующая вещь в моем списке исправлений). –