【发布时间】:2018-03-26 23:15:56
【问题描述】:
我无法将数据导入到位于 mongoDBAtlas 上的现有数据库中。我安装了 robomongo 并将其与 mongoDBAtlas 连接以使用 atlas。
然后我在 robomongo 中创建了新数据库 jasper 和集合 User 我在存储我的数据的项目中创建了 user.json 文件。
我按照https://docs.atlas.mongodb.com/import/mongoimport/ 上的教程进行操作 - 如何将 mongoimport 与 mongodb 一起使用。
这是我的命令,我在终端输入:
mongoimport --uri mongodb://Morty:<PASSWORD>@jasper-shard-00-00-mrihb.mongodb.net:27017/jasper?ssl=true&replicaSet=jasper-shard-0&authSource=admin --collection User --drop --file ./src/data/user.json --jsonArray
这给我一个错误:
[1] 40930
[2] 40931
-bash: --collection: command not found
[2]+ Done replicaSet=jasper-shard-0
KSC1-LMC-K00587:Interview-test-part-one marze$ 2017-10-15T10:38:35.209+0200 no collection specified
2017-10-15T10:38:35.209+0200 using filename '' as collection
2017-10-15T10:38:35.209+0200 error validating settings: invalid collection name: collection name cannot be an empty string
2017-10-15T10:38:35.209+0200 try 'mongoimport --help' for more information
如果我为 localhost 运行 mongoimport,它会完美运行。
问题应该出在哪里?
【问题讨论】:
-
在 uri 连接字符串周围加上引号。你有一个
&,你的shell(bash,zsh,whatever)认为你的意思是不同的。 -
@NeilLunn 非常感谢您的建议。这就是问题所在:)
-
仅供参考。任何告诉您指定
authSource=admin的文档都已过时。默认情况下,一般驱动程序(以及工具)只是这样做,所以它并不是真正需要的。如果在admin以外的任何地方定义了用户,这也是即将推出的 MongoDB 3.6 的兼容性问题。 -
@Morten 您可以自己发布问题的答案而不是编辑它以帮助未来的读者吗?
标签: mongodb macos robo3t mongodb-atlas