蒙古进口:'error validating settings: only one positional argument is allowed'

mongoimport : 'error validating settings: only one positional argument is allowed'

好的,所以我正在尝试....将虚拟 JSON 文件导入 MongoDB 并出现此错误,Google 搜索没有明确的解释,虽然这个主题是 ,这是一个语法相关的错误。

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

我不明白这个错误,因此无法在任何地方找到合适的 "plain English" 解释来自己解决,所以如果你有 link 请帮我把它放进去,我们将不胜感激....

错误:

$ 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 路径并连接到测试 "All good" -: 运行 mongoimport 来自单独的 shell


$ 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 和位置参数

通过引用你的路径来尝试它

$ 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

来自于您的路径包含一个 space 的事实,这导致将它分成两个单独的参数(如果没有被周围的引号保护)


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

~修复~

A) 我直接从根目录中的一个新文件夹更改了指向 reed 的路径 B) 对于任何其他人在 mac osx 上有同样的问题——在你的路径中省略基本根,在我上面的例子中它是 [Macintosh HD] 导入工作无需指定。因此它被改为..

        $ mongoimport --jsonArray --collection bank_data '/Users/Tinus/Downloads/bank_data.json/bank_data.json'

C) 是的,引号是必不可少的,并且还添加了…… D) 切记不要把运行放在mongo里面shell.

再次点赞 DAXaholic

甚至我在将 tsv 文件导入 db 时遇到同样的问题,包括命令行的 --headerline 解决了 issue.please 找到用于成功导入 tsv 文件的整个导入命令

mongoimport --host Cluster0-shard-0/cluster0-shard-00-00-qvmvm.mongodb.net:27017,cluster0-shard-00-01-qvmvm.mongodb.net:27017,cluster0-shard-00-02-qvmvm .mongodb.net:27017 --ssl --username learning --password --authenticationDatabase admin --db node_deploy --collection node_deploy --type tsv --file games.tsv --标题行 [笔记] 上面的命令是使用 mongodb.com

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

以上解决方案在 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.

这对我有用:

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。

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

mongoimport --db ShardTestDB --collection Test --host : --jsonArray --file "/Substations_new.json"

确保文件包含在引号内。