What does “too many positional options” mean when

2019-01-14 00:26发布

问题:

mongoexport -h db.mysite.com -u myUser -p myPass -c myCollection

But the response I get is:

ERROR: too many positional options

What's that about?

回答1:

I had this same problem. In my case, I was using mongoexport with the --query option, which expects a JSON document, such as:

mongoexport ... --query {field: 'value'} ...

I needed to surround the document with quotes:

mongoexport ... --query "{field: 'value'}" ...


回答2:

I had the same problem. Found a group post somewhere which said to remove the space between the '-p' and the password, which worked for me.

Your sample command should be:

mongoexport -h db.mysite.com -u myUser -pmyPass -c myCollection


回答3:

The same error I have encountered while importing a csv file. But its just, the fact that the field list which you pass for that csv file import may have blank spaces. Just clear the blank spaces in field list.

Its the parsing error.



回答4:

I had the same issue with mongodump. After searching a bit, I found out that using the --out parameter to specify the output directory would solve this issue. The syntax for using the out parameter is

mongoexport --collection collection --out collection.json

Also in case your Mongodb instance isn't running, then you could use the --dbpath to specify the exact path to the files of your instance.

Source: http://docs.mongodb.org/manual/core/import-export/



回答5:

I had the same issue with the mongoexport utility (using 2.0.2). My fix was to use the FULL parameter name (i.e. not -d, instead use --db).



回答6:

Sometimes editor will screw it up (such as evernote). I fixed the issue by retyping the command in terminal.



回答7:

I was also stuck in same situation and found what was causing it.

  1. Make sure you are exporting in CSV format by adding parameter --type csv
  2. Make sure there are no spaces in fields name, Example: --fields _id, desc is wrong but --fields id,desc,price is good


回答8:

This also works if you place the -c option first. For me, this order does work:

mongoexport -c collection -h ds111111.mlab.com:11111 -u user -p pass -d mydb

You can also leave the pass out and the server will ask you to enter the pass. This only works if the server supports SASL authentication (mlab does not for example).



回答9:

I had the same issue with starting mongod. I used the following command:

./mongod --port 27001 --replSet abc -- dbpath /Users/seanfoley/Downloads/mongodb-osx-x86_64-3.4.3/bin/1 --logpath /Users/seanfoley/Downloads/mongodb-osx-x86_64-3.4.3/log.1 --logappend --oplogSize 5 --smallfiles --fork

The following error message appeared:

Error parsing command line: too many positional options have been specified on the command line

What fixed this issue was removing the single space between the '--' and 'dbpath'



回答10:

Had a similar issue

$too many positional arguments
$try 'mongorestore --help' for more information

Simply fix for me was to wrap the path location in quotes " "

This Failed:

mongorestore -h MY.mlab.com:MYPORT -d MYDBNAME -u ADMIN -p PASSWORD C:\Here\There\And\Back\Again

This Worked:

mongorestore -h MY.mlab.com:MYPORT -d MYDBNAME -u ADMIN -p PASSWORD "C:\Here\There\And\Back\Again"


回答11:

Create a json file in the same folder where you have your mongod.exe.

eg: coll.json

and open a command prompt in this folder.

type this below in CMD.

mongoexport --db databasename --collection collectionname --out coll.json

and you will see like a progress bar very cool exporting all data.



标签: mongodb