2016-04-05 2 views
0

Я пытался импортировать JSON с этимMongoDB не импортируете JSON, как и ожидалось

mongoimport --upsert --db mydb --jsonArray --file AllCards.json

но то, что я получаю

"импортирован 0 объектов"

Я получаю db с 0 элементами.

Тот же JSON-файл правильно читается, когда я загружаю его с помощью программы просмотра JSON.

Это часть сообщения об ошибке я получаю

исключение: Invalid JSON передается mongoimport: код FailedtoParse:> FailedtoParse: Excpecting '{': смещение: 0 из:

Файл JSON, который я пытаюсь импортировать, имеет 6 МБ, но я обрезал его, чтобы попытаться найти проблему. Проблема сохраняется даже с этим содержанием:

{ 
    "Air Elemental": { 
    "layout": "normal", 
    "name": "Air Elemental", 
    "manaCost": "{3}{U}{U}", 
    "cmc": 5, 
    "colors": ["Blue"], 
    "type": "Creature — Elemental", 
    "types": ["Creature"], 
    "subtypes": ["Elemental"], 
    "text": "Flying", 
    "power": "4", 
    "toughness": "4", 
    "imageName": "air elemental", 
    "colorIdentity": ["U"] 
    }, 
    "Ancestral Recall": { 
    "layout": "normal", 
    "name": "Ancestral Recall", 
    "manaCost": "{U}", 
    "cmc": 1, 
    "colors": ["Blue"], 
    "type": "Instant", 
    "types": ["Instant"], 
    "text": "Target player draws three cards.", 
    "mciNumber": "1", 
    "imageName": "ancestral recall", 
    "colorIdentity": ["U"] 
    } 
} 
+0

Можете ли вы проверить мой ответ и посмотреть, работает ли он в вашем конце? @David –

+0

Проблема, похоже, не в файле JSON, который вы включили в свой вопрос. Я проверил его с помощью этого инструмента: https://jsonformatter.curiousconcept.com/ (обратите внимание на будущее, это полезно). –

ответ

0

Я делаю это mongoimport --upsert --db jason --collection contacts --file omuk.json И это работает отлично. Нашел:

2016-04-05T14:34:19.305+0600 connected to: localhost 
2016-04-05T14:34:19.314+0600 imported 1 document 
+0

эй там! Он тоже не работает. Однако появляется сообщение об ошибке, которое я получаю: 2016-04-05T20: 29: 29.335-0300 Исправление KB2731284 или более позднее обновление не установлено, будут обнулены файлы данных Я искал это исправление и установил и перезапустил компьютер , но ничего не изменилось. Я не знаю, связано ли это с проблемой, с которой я столкнулся, особенно потому, что мне удалось загрузить другой .json-файл, как я упомянул в исходном сообщении. Я также пробовал решение другого ответа, но это вообще не помогло. –

+0

Я попытался удалить фигурные скобки на обоих концах документа .json. это не помогло. Я попытался заменить db. .count() с db.getCollection (<имя_узла>). Count(), и это действительно не помогло. еще одна вещь, которую я пробовал, - это db.getCollection (<имя_узла>). FindOne(). Это заставит его распечатать все содержимое json-файла 6MB. @ Ясон-Борн –

1

Опция jsonArray требует, чтобы входной быть массивом JSON документов, то есть верхний объект уровня в файле является массивом. Это не относится к вашему вводу.

Если вам нужен только один документ JSON для каждой строки, то (с текущими версиями mongodb), который является стандартным форматом mongoinport - вам не нужно передавать какие-либо опции, чтобы запросить его. Удалите --jsonArray, и все будет в порядке.

Смежные вопросы