2017-10-15 184 views
0

我無法將數據導入位於mongoDBAtlas上的現有數據庫。我用mongoDBAtlas安裝並連接了robomongo,以便與地圖集一起工作。無法使用mongoimport將數據導入到mongo數據庫中

我在robomongo創建新的數據庫碧玉和收集用戶然後 我創建user.json文件在我的項目中存儲我的數據。

我跟着教程https://docs.atlas.mongodb.com/import/mongoimport/ - 如何在mongodb中使用mongoimport。

這裏是我的命令,林打字終端:

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  

如果我爲運行mongoimport本地主機它完美的作品。

問題出在哪裏?

+0

將引號放在uri連接字符串的周圍。你有一個'&'在那裏你的shell(bash,zsh,什麼)認爲你的意思是不同的。 –

+0

@ NeilLunn真的非常感謝您的建議。這是問題:) – Morten

+0

供參考。任何告訴你指定'authSource = admin'的文檔都是過時的。一般的驅動程序(以及工具)只是在默認情況下這樣做,所以它不是真的需要。這對於即將到來的MongoDB 3.6來說也是一個兼容性問題,如果有其他用戶在「admin」以外的地方定義的話。 –

回答

0

解決方案: -uri param的用法引號。

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 
相關問題