2013-05-11 2 views
29

Я пытаюсь добавить файл JSON в MongoDB используя mongoimports от терминала, здесь:Импорт файла JSON с использованием mongimport, продолжайте получать «неожиданный идентификатор»?

mongoimport --db my_db --collection my_collection --file /content/2_read.json 

я получаю JavaScript execution failed: SyntaxError: Unexpected identifier Я провел JSON через JSON Lint: http://jsonlint.com/, который говорит, что она действует в формате JSON.

Я не уверен, что может привести к отключению процесса импорта? Или как исследовать дальше, чтобы выследить проблему?

UPDATE

  1. Кто-то предложил поставить все на одной линии. Порядочное предложение. Я попробовал, и это не сработало.
  2. Я попытался импортировать очень простой файл json с именем simple.json с контентом {'content' : 'simple'} Но я все еще получаю ту же ошибку, используя mongoimport. (Я могу добавить документы от mongo оболочки просто отлично.)

Образец JSON находится ниже.

2_read.json

{ 
    "name" : "John", 
    "tasks" : [ 
     { 
     "ix" : "1", 
     "description" : "description of task", 
     "tags": [] 
     }, 
    { 
     "ix": "2", 
     "description" : "description of task", 
     "tags" : [] 
    } 
     ] 
} 

Спасибо.

+2

возможный дубликат [Ошибка во время mongoimport] (http://stackoverflow.com/questions/15599716/error-during-mongoimport) – WiredPrairie

+1

Может быть? Но человек получил определенную ошибку, когда ошибка, которую я получаю, является общей (и менее эффективной). Я также просто попытался добавить -jsonArray, но это ничего не изменило. ( –

+0

Я сделал полную ошибку для новичков. Я думал, что вы использовали 'mongoimports' из командной строки оболочки mongo вместо основного приглашения на терминал. После этого я столкнулся с ошибкой, связанной с необходимостью --jsonArray (и у меня были определенные ошибки, как в сообщение –

ответ

123

Отвечая на мой вопрос, потому что совершенно newbies по достоинству оценят ошибку и могут столкнуться с ней по мере их начала.

mongoimport используется с терминала, а не внутри оболочки mongo. Так же, как вы не используете npm внутри node. ; D

После выяснения моей концептуальной ошибки там мне нужно было --jsonArray, как указано в @WiredPrairie в комментариях.

+8

Даже я сделал ту же ошибку. Спасибо, что поделился. Это сэкономило мое время. – gca

+8

Только что сделала ту же ошибку. Спасибо, что ответили на ваш вопрос. – aczietlow

+0

Проверьте документы на наличие ошибочного текста. json-документ из Интернета и браузер с помощью скопированной ошибки, когда я скопировал содержимое страницы. Надеюсь, это поможет вам. JSLint тоже помогает! –

0

Следующая команда из терминала работала хорошо для меня:

mongoimport -d my_db -c my_collection < /content/2_read.json --batchSize 1 
+0

Привет. Im получение ERROR: непризнанная опция '--batchSize' со следующей командой: mongoimport --db ciudadDeBuenosAires --collection vehicleulos-peajes <"/ home/dantebarba/Descargas/ausapasovehiculo-2015.json "--batchSize 1 – dantebarba