2017-10-15 15 views
0

mongoDBAtlas에있는 기존 데이터베이스로 데이터를 가져올 수 없습니다. 아틀라스 작업을 위해 mongoDBAtlas와 함께 robomongo를 설치하고 연결했습니다.mongoimport를 사용하여 데이터를 mongo 데이터베이스로 가져 오기

나는 내 데이터를 저장되는 위치를 다음 내 프로젝트에 user.json 파일을 만든 robomongo에 새 데이터베이스를 재스퍼 및 수집 사용자를 만들었습니다.

https://docs.atlas.mongodb.com/import/mongoimport/에 관한 튜토리얼을 따라 mongoimport를 mongodb와 함께 사용하는 방법. 로컬 호스트가 완벽하게 작동 내가 에 대한 mongoimport를 실행하면

[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 --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 

: 여기

내 명령, 터미널 임 입력합니다.

어디에 문제가 있습니까?

+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