29

I'm trying to add a JSON file to mongodb using mongoimports from terminal, here:

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

I keep getting JavaScript execution failed: SyntaxError: Unexpected identifier I ran my JSON through JSON Lint: http://jsonlint.com/ which says it's valid JSON.

I'm not sure what could be tripping up the import process?? Or how to investigate further to hunt down the issue?

UPDATE

  1. Somebody suggested putting all on one-line. A decent suggestion. I tried it and it didn't work.
  2. I tried importing a very very simple json file named simple.json with the content {'content' : 'simple'} But I'm still getting the same error using mongoimport. (I can add documents from mongo shell just fine.)

A sample of the JSON is below.

2_read.json

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

Thanks.

3
  • 2
    possible duplicate of Error during mongoimport Commented May 11, 2013 at 18:31
  • 1
    Maybe? But the person got a specific error, when the error I'm getting is generic (and less helpful). I also just tried adding --jsonArray but that didn't change anything. ;( Commented May 11, 2013 at 18:45
  • I did a complete newbie error. I thought you used mongoimports from the mongo shell prompt instead of the main terminal prompt. After that, I ran into the error of needing --jsonArray (and I got specific errors like in the post your pointed too) Thanks for highlighting that. Commented May 11, 2013 at 19:09

2 Answers 2

126

Answering my own question because complete newbies will appreciate the error and may run into it as they get started.

mongoimport is used from terminal, NOT within the mongo shell. Just like you don't use npm inside node. ;D

After figuring out my conceptual error there, I needed --jsonArray as pointed to by @WiredPrairie in the comments.

Sign up to request clarification or add additional context in comments.

4 Comments

Even I did the same mistake. Thanks for sharing. It saved my time
Just made the same mistake. Thanks for answering your question.
Check the documents for erroneous text. I copied the json document from the web, and the browser through an error that was copied, when I copied the content of the page. Hopefully this helps you. JSLint helps too!
so what do you use inside mongo shell instead?
0

The following command from terminal worked good for me:

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

1 Comment

Hi. Im getting ERROR: unrecognised option '--batchSize' with the following command mongoimport --db ciudadDeBuenosAires --collection vehiculos-peajes < "/home/dantebarba/Descargas/ausapasovehiculo-2015.json" --batchSize 1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.