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

时间:2016-09-20 01:47:45

标签: mongodb mongoimport

好的,我正在尝试......将虚拟JSON文件导入MongoDB并收到此错误,谷歌搜索没有产生明确的解释,虽然这个主题是already on here,但还有更多与语法相关的错误。

我认为我的语法还可以,但如果不是,请指出并让我知道。另外我认为另一个问题是我的路径[格式正确]?还是我错过了完全不同的东西。

我不理解错误,因此无法找到合适的英语"解释任何地方自己弄清楚,所以如果你有一个链接请放入我的,我将不胜感激....

错误:

$ 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

- :运行OSX - :Mongod开始了 - :使用/ data / db路径并连接到test" All good" - :从单独的shell运行mongoimport

$ 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)同样在添加--file时我得到:不兼容的选项: - file和position argument(s)

6 个答案:

答案 0 :(得分:5)

通过引用你的路径

来尝试
$ mongoimport --jsonArray --collection bank_data '/Macintosh HD/Users/Tinus/Downloads/bank_data.json/bank_data.json'  

错误

error validating settings: only one positional argument is allowed

来自这样一个事实:你的路径包含一个空格,导致将它分成两个独立的参数(如果没有被周围的引号保护)

顺便说一句:您确定自己的路径以'...bank_data.json/bank_data.json'结尾,而不只是一个'bank_data.json'吗?

答案 1 :(得分:2)

〜修复〜

A)我直接从root上的新文件夹改变了路径 B)对于任何其他在mac osx上具有相同问题的人 - 在您的路径中输出基本根,在上面的示例中它是[Macintosh HD] 导入工作而不指定它。因此它被改为..

$filter

C)是的,引号是必不可少的,并且还添加了...... D)记住不要在mongo shell中运行它。

再次向DAXaholic竖起大拇指

答案 2 :(得分:0)

即使我将tsv文件导入到数据库(包括--headerline到命令行)时也遇到了同样的问题。请找到用于成功导入tsv文件的整个导入命令

mongoimport --host群集0-碎片0 / cluster0-碎片-00-00-qvmvm.mongodb.net:27017,cluster0-碎片-00-01-qvmvm.mongodb.net:27017,群集0-碎片-00 -02-qvmvm.mongodb.net:27017 --ssl-用户名学习-密码--authentication数据库管理--db node_deploy --collection node_deploy --type tsv --file games.tsv --headerline [注意] 上面的命令是使用mongodb.com

将tsv格式的数据库导入AWS托管的mongodb中

答案 3 :(得分:0)

以上解决方案在Windows 10上对我不起作用。我发现解决方案如下:

mongoimport --jsonArray --db=db_name --collection=collection_name --file=file_name.json

导致的结果:

2019-12-29T02:26:50.041-0700    connected to: mongodb://localhost/
2019-12-29T02:26:50.088-0700    2411 document(s) imported successfully. 0 document(s) failed to import.

答案 4 :(得分:0)

这对我有用:

mongoimport --host 172.18.60.1 --port 50000 --db MYDB --collection BUSINESS_FILE --file "/opt/data/JSON/BUSINESS_FILE.json"

P.S。我的端口不是MongoDB的默认端口,因此请确保将mongos端口放在那里,而不是我的50000。

答案 5 :(得分:0)

我也有同样的错误,原因是我在指定选项时出错。我有--collection而不是--collection或-c。以下是对我有用的。

mongoimport --db ShardTestDB-集合测试--host:--jsonArray-文件“ /Substations_new.json”

确保文件包含在引号中。