Пытался импортировать данные geojson из Google Maps в MongoDB и подумал, что это будет довольно легко сделать, поскольку данные geojson очень похожи на json. Оказывается, это неудобно сложно.
Мои данные geojson на Google Maps выглядят так:
{
"type": "FeatureCollection",
"name": "All",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": { "Name": "KSA", "description": "750 acres" }, "geometry": { "type": "Point", "coordinates": [ -72.8032981, 43.6176027 ] } },
{ "type": "Feature", "properties": { "Name": "JPR", "description": null }, "geometry": { "type": "Point", "coordinates": [ -72.5045437, 44.9379601 ] } },
:
{ "type": "Feature", "properties": { "Name": "SAM", "description": null }, "geometry": { "type": "Point", "coordinates": [ 10.1589005, 47.1394002 ] } }
]
}
Наиболее подходящими ответами были следующие темы: Как импортировать файл Geojson в MongoDB и Неожиданный конец ввода JSON в MongoDB Compass
Но после обрезки документа и удаления запятых между документами у меня либо MongoDB отказывался импортировать, ссылаясь на различные ошибки, такие как «Неожиданный конец ввода JSON», или аналогичные сбои из различных онлайн-минификаторов и валидаторы.
Хотя с командной строкой все в порядке, мне не нравится, как работает командная строка MongoDB (я использовал только Compass), поэтому потенциальные решения командной строки кажутся мне неясными в отношении того, как они работают.
Я думал, что будет просто протолкнуть очищенный json через онлайн-инструмент для минификации, но пока он не работает.
Чтобы сэкономить дополнительные часы, есть ли у кого-нибудь предложения относительно того, как получить онлайн-инструмент и этот импорт для работы, пожалуйста?
Ах, все хорошо, в конце концов я заставил его работать.
Согласно ответу Адама в другом потоке, я удалил это с самого начала:
и это с конца:
Затем я удалил запятые в конце каждой строки, т.е. Я заменил «]}},» на «]}}«
Затем запустил его через jq play, выбрав «компактный вывод».
Затем сохранил его в файл, и MongoDB успешно импортировал его.
Все еще не уверен, почему мне не удалось заставить его работать с другими минификаторами, но jq play определенно помогло.