2017-10-15 21 views
0

mongoDBAtlasにある既存のデータベースにデータをインポートできません。私はatlasの作業のためにrobomongoをインストールし、mongoDBAtlasに接続しました。mongoimportを使用してmongoデータベースにデータをインポートする

私は私のデータを格納している私のプロジェクトでuser.jsonファイルを作成し、その後 robomongoに新しいデータベース碧玉とコレクションユーザーを作成しました。

私は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を実行した場合、それは完璧に動作します。ここ

は、ターミナル内イムタイピング私のコマンドです。

問題はどこですか?

+0

uri接続文字列の前後に引用符を入れます。あなたはあなたのシェル(bash、zsh、何でも)があなたが何か別のものを意味すると思う '&'を持っています。 –

+0

@NeilLunnはアドバイスをいただき本当にありがとうございます。それは問題でした:) – Morten

+0

FYI。 'authSource = admin'を指定するよう指示している文書は、実際には古くなっています。一般的なドライバ(したがってツール)はデフォルトでこれを行うだけで、実際には必要ありません。 'admin'以外のユーザが定義されている場合は、今後のMongoDB 3.6の互換性の問題です。 –

答えて

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 
関連する問題