在进行mongoexport时,“太多位置选项”是什么意思?

时间:2011-09-22 20:36:21

标签: mongodb

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

但我得到的回应是:

ERROR: too many positional options

那是什么意思?

14 个答案:

答案 0 :(得分:38)

我有同样的问题。就我而言,我使用mongoexport--query选项,它需要一个JSON文档,例如:

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

我需要用引号括起文档:

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

答案 1 :(得分:16)

我遇到了同样的问题。在某个地方找到了一个组帖,据说删除了'-p'和密码之间的空格,这对我有用。

您的示例命令应为:

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

答案 2 :(得分:11)

导入csv文件时遇到的同样错误。 但它只是,你为csv文件导入传递的字段列表可能有空格。 只需清除字段列表中的空格即可。

解析错误。

答案 3 :(得分:7)

mongodump我遇到了同样的问题。搜索了一下后,我发现使用--out参数指定输出目录可以解决这个问题。使用out参数的语法是

mongoexport --collection collection --out collection.json

如果您的Mongodb实例未运行,则可以使用--dbpath指定实例文件的确切路径。

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

答案 4 :(得分:4)

我在使用mongoexport实用程序时遇到了同样的问题(使用2.0.2)。我的修复是使用FULL参数名称(即不是-d,而是使用--db)。

答案 5 :(得分:2)

有时编辑会搞砸它(例如evernote)。我通过重新命名终端中的命令来解决问题。

答案 6 :(得分:1)

我也陷入了同样的情况,并找到了造成这种情况的原因。

  1. 通过添加参数--type csv来确保以CSV格式导出
  2. 确保字段名称中没有空格, 示例:--fields _id, desc是错误的,但是--fields id,desc,price是好的

答案 7 :(得分:1)

如果首先放置-c选项,这也将起作用。对我来说,此命令确实有效:

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

您也可以将通行证遗忘,服务器将要求您输入通行证。仅当服务器支持SASL身份验证(例如,mlab不支持)时,此方法才有效。

答案 8 :(得分:0)

启动mongod时遇到了同样的问题。我使用了以下命令:

./ 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

出现以下错误消息:

解析命令行时出错:在命令行上指定了太多位置选项

解决这个问题的原因是删除了' - '之间的单一空格。和' dbpath'

答案 9 :(得分:0)

有类似的问题

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

对我来说,简单的解决方法是将路径位置用引号引起来“”

失败:

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

此方法有效:

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

答案 10 :(得分:0)

在使用“ mongod --dbpath”命令时,我遇到了同样的问题。我正在做的事情看起来像这样:

mongod --dbpath c:/Users/HP/Desktop/Mongo_Data

该命令的语法应为:

mongod --dbpath=c:/Users/HP/Desktop/Mongo_Data

这对我有用。除此之外,还可以使用mongod --help命令来记录命令功能和语法。

答案 11 :(得分:0)

就我而言,我必须将端口与服务器连接分开编写。这对我有用:

  

mongoexport --host = HOST --port = PORT --db = DB --collection = COLLECTION   --out = OUTPUT.json -u用户-p通过

答案 12 :(得分:0)

(错误:参数过多)

不要在字段之间使用空格

尝试:

mongoexport --host localhost --db local --collection epfo_input --type=csv --out epfo_input.csv --fields cin,name,search_string,EstablishmentID,EstablishmentName,Address,officeName

不要尝试:

mongoexport --host localhost --db local --collection epfo_input --type=csv --out epfo_input.csv --fields cin,name,search_string,Establishment ID,Establishment Name,Address,office Name

答案 13 :(得分:-2)

在您拥有mongod.exe

的同一文件夹中创建一个json文件

例如:coll.json

并在此文件夹中打开命令提示符。

在CMD中输入以下内容。

  

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

你会发现导出所有数据的进度条非常酷。