2014-10-03 1 views
1

mongoimport를 명령 줄에서 실행할 수 있으며 파일 이름을 하드 코드하면 파일을 가져올 수 있습니다. mongoimport --host HOSTNAMEHERE --collection TESTColectionName --db DBNAME --file C : \ FileFolder1 \ 129871.json --jsonArraymongodb mongoimport 외부 파일에서 동적으로

위의 작품 큰하지만 난 (파일 of.json 수백 그 I를 폴더를 모르겠다의 이름). 어떻게하면 디렉토리의 모든 파일을 반복하여 mongodb로 가져올 수 있습니까?

mongo 명령 (데이터 찾기, 데이터 표시, 데이터 인쇄 등)을 실행하기 위해 몇 가지 .js 파일을 작성했습니다. 어쨌든 여기에서 수입품을 반복하고 실행할 수 있습니까 (나는 mongoimport가 mongo 쉘 자체와는 별개의 .exe 임).

당신에게

+0

왜 쉘 스크립트 또는 배치 파일을 작성하지 않습니까? 또는 노드를 사용하여 작은 스크립트를 작성하고 'fs'를 사용하여 파일을 반복 실행하고 쉘 명령을 수행 할 수 있습니다. –

+0

미안 미안하지만 분명하지 않다면 쉘 스크립트를 작성하는 것입니다. – Brad

답변

1

이 모든 파일 (및 파일 만)을 나열 (기반 유닉스)를 반복하는 샘플 쉘 스크립트

ls -1 *.json | sed 's/.json$//' | while read col; do 
mongoimport -d db_name -c $col < $col.json; 
done 

윈도우 기반의 힌트

감사 알려줘 현재 디렉토리 :

for /r %i in (*) do echo %i 

배치 파일에서 그 명령을 사용하면 % 기호를 두 배로 늘릴 수 있습니다.

for /r %%i in (*) do echo %%i 
+0

좋아요, 한 가지는 Windows에서 실행 중입니다. – Brad

+0

효과가 있었습니까? –