Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 验证设置时mongodb出错:只允许一个位置参数_Json_Mongodb_Mongoimport - Fatal编程技术网

Json 验证设置时mongodb出错:只允许一个位置参数

Json 验证设置时mongodb出错:只允许一个位置参数,json,mongodb,mongoimport,Json,Mongodb,Mongoimport,我刚换了一台新的笔记本电脑,我相信它有mongo 3.0.0。 在新的笔记本电脑上,我有mongo 3.0.4。尝试在旧笔记本电脑上运行的脚本会给我带来错误。这行给了我一个错误 mongoimport --host localhost \ -db roudy123_q \ -collection LebaneseAmericanUniversity\(Lebanon\).json \ --file LebaneseAmeri

我刚换了一台新的笔记本电脑,我相信它有mongo 3.0.0。 在新的笔记本电脑上,我有mongo 3.0.4。尝试在旧笔记本电脑上运行的脚本会给我带来错误。这行给了我一个错误

mongoimport --host localhost \
            -db roudy123_q \
            -collection LebaneseAmericanUniversity\(Lebanon\).json \
            --file LebaneseAmericanUniversity\(Lebanon\).json \
            --jsonArray
验证设置时出错:只允许一个位置参数

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

只是胡乱猜测

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

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

也许这个特定版本的
mongoimport
在这方面更为谨慎,并将处理
-db-集合…
作为位置参数而不是关键字参数?

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

在这些情况下,-f和--field都应该起作用 使用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

我认为在目录的文件名中使用空格也会导致此错误

如果文件路径中没有“\”的空格,也会发生此错误。 前任: 这行不通:

但这是可行的:


以上提到的答案都没有解决我的问题,但它们确实帮助我找出我做错了什么。(我正在使用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用户-c联系人--键入csv--标题行--文件“c:/kp github/other projects/projectXyz/myFile.csv”


其中,users是我的db name,contacts是我的收藏名

如果您正在获取验证设置的
mongodb error
:只允许一个位置参数

  • 只需将--file path放入“”
  • 2.在--file path中使用/而不是\

  • 另外,将--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>
    
    mongoimport--host“cluster0-shard-00-01-ceax1.mongodb.net:27017”--db--type json--file“C:/Users/ranjeet/Downloads/mongodb project/ranjeet.json”--authenticationDatabase admin--ssl--username--password--collection
    
    我真不敢相信我在那件事上浪费了几个小时。希望它能节省别人的时间。谢谢。我的问题已经解决了。但这种语法在早些时候适用于我(直到今年年初)。我的批处理文件早就坏了。谢谢你帮我节省了几个小时:)