mongodb-error验证设置:只允许一个位置参数

时间:2015-06-20 11:45:51

标签: json mongodb mongoimport

我刚搬到一台新的笔记本电脑上,我认为它有mongo 3.0.0。 在新笔记本电脑上我有mongo 3.0.4。并尝试在旧笔记本电脑上工作的脚本给我错误。这条线给了我错误。

mongoimport --host localhost \
            -db roudy123_q \
            -collection LebaneseAmericanUniversity\(Lebanon\).json \
            --file LebaneseAmericanUniversity\(Lebanon\).json \
            --jsonArray

错误验证设置:只允许一个位置参数。

我用Google搜索了错误,唯一相关的结果是mongoimport的源代码。所以我想这与新版本有关。

6 个答案:

答案 0 :(得分:22)

只是猜测......

...但应使用--指定各种长选项,而不是-

mongoimport --host localhost \
            --db roudy123_q \
            --collection LebaneseAmericanUniversity\(Lebanon\).json \
            --file LebaneseAmericanUniversity\(Lebanon\).json \
            --jsonArray

也许mongoimport的这个特定版本对此更为谨慎,并且会将-db ... -collection ...视为位置参数而不是关键字参数?

答案 1 :(得分:4)

如果在文件路径中没有“\”的情况下给出空格,也会发生此错误。 例如: 这不会工作: Error

但这可行:

works fine

答案 2 :(得分:0)

如果在使用--fields插入字段时出现此错误,可能的原因可能是您使用空格来执行此操作。

-f和--fields都适用于这些情况 使用Mongo 3.0.6版

mongoimport --db logs --collection action_logs --type tsv -f updated_at ,transaction_time ,origin  --file parsed.tsv
mongoimport --db logs --collection action_logs --type tsv -f updated_at,transaction_time,origin  --file parsed.tsv

答案 3 :(得分:0)

我认为在目录的文件名中给出一个空格也会导致此错误。

答案 4 :(得分:0)

以上提到的答案都不能解决我的问题,但确实可以帮助我弄清楚我做错了什么。(我正在使用Windows)

1)使用-d而不是--d(简写只需要一个-不需要两个-)

2)使用“”表示绝对文件路径。

3)将\更改为/到文件路径位置。

例如,我在Windows中的文件位置为: C:\kp github\other projects\projectXyz\myFile.csv

所以对我来说,有效的命令是:

mongoimport -d users -c contacts --type=csv --headerline --file="C:/kp github/other projects/projectXyz/myFile.csv"

mongoimport -d users -c contacts --type csv --headerline --file "C:/kp github/other projects/projectXyz/myFile.csv"

其中用户是我的数据库名称,联系人是我的收藏名称

答案 5 :(得分:0)

如果您获得mongodb-error的验证设置:仅允许使用一个位置参数。

  1. 只需将--file路径放在“”中即可。

2。在文件路径中使用/代替\。

  1. 此外,将--host放在“”中。

例如:
假设您尝试将数据从本地计算机导入到集合中的服务器(MongoDB Atlas或MongoDB服务器或本地)中,然后执行以下操作:

mongoimport --host "cluster0-shard-00-01-ceax1.mongodb.net:27017" --db <dbname> --type json --file "C:/Users/ranjeet/Downloads/MongoDb project/ranjeet.json" --authenticationDatabase admin --ssl --username <Username> --password <Password> --collection <CollectionName>