mongoimport : 'error validating settings: only one positional argument is allowed'
Solution 1
Try it like that by quoting your path
$ mongoimport --jsonArray --collection bank_data '/Macintosh HD/Users/Tinus/Downloads/bank_data.json/bank_data.json'
The error
error validating settings: only one positional argument is allowed
comes from the fact that your path contains a space which results in splitting it into two separate arguments (if not guarded by surrounding quotes)
BTW: Are your sure your path ends with '...bank_data.json/bank_data.json'
and not just one 'bank_data.json'
?
Solution 2
~Fix~
A) I changed the path to reed direct from a new folder on root B) For any other’s having the same issue on mac osx —leave out the base root in your path , in my example above it was [ Macintosh HD] the import works without specifying it. thus it was changed to ..
$ mongoimport --jsonArray --collection bank_data '/Users/Tinus/Downloads/bank_data.json/bank_data.json'
C) Yes the quotes are essential and was also added… D) Remember not to run it inside the mongo shell.
thumbs Up again to DAXaholic
Solution 3
I also had the same error and the reason was my mistake of specifying options. Instead of --collection or -c, I had -collection. Below is what worked for me.
mongoimport --db ShardTestDB --collection Test --host : --jsonArray --file "<path_to_json>/Substations_new.json"
Make sure that the file is included inside quotes.
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Admin
Updated on June 28, 2022Comments
-
Admin almost 2 years
Ok so I am trying.... to Importing a dummy JSON file into MongoDB and getting this error, a Google search yields no definitive explanation, and though this topic is already on here, that's more a syntax related error.
I think my syntax is ok, however if it is not please point it out and let me know. Also I think the other issue is my path [format correct] ? or is it something entirely different I am missing.
I don't understand the error and thus can't find a suitable "plain English" explanation anywhere to figure it out myself, so if you have a link please drop it in for me, it will be appreciated....
The error:
$ mongoimport --jsonArray --collection bank_data /Macintosh HD/Users/Tinus/Downloads/bank_data.json/bank_data.json 2016-09-20T13:23:56.592+1200 error validating settings: only one positional argument is allowed
-: Running OSX -: Mongod started -: Using /data/db path and connected to test "All good" -: running mongoimport from separate shell
$ mongo --version MongoDB shell version: 3.2.8 $ mongoimport --jsonArray --collection some_data --file /path/path/data.json $ mongoimport --jsonArray --collection some_data /path/path/data.json
A) Also when adding --file i get: incompatible options: --file and positional argument(s)