2011-11-14 3 views
0

명령 줄에서 작동 스크립트를 실행할 때 출력 :내가 MongoDB를에서 내보내기를 얻을 수있는 간단한 스크립트를

$ ./simple_query.sh 
+ QUERY='{ "type":"listing" }' 
+ mongoexport --db event --collection listing --query '{ "type":"listing" }' --fields type,name --csv 
ERROR: too many positional options 

그러나 mongoexport 행을 복사하여 붙여 넣기 만하면 작동합니다! 무슨 일이야?

+0

'--fields "type", "name"은'-fields "type, name"이되어야합니까? – Russell

+0

사실, 문서를 보면 전혀 인용 부호가 있어야한다고 생각하지 않습니다. http://www.mongodb.org/display/DOCS/mongoexport – Russell

+0

좋은 생각이지만 문제는 해결되지 않습니다. 명령 줄에서 따옴표로 묶인 필드 이름과 인용되지 않은 필드 이름이 모두 작동합니다. 대본에서 어떤 방법으로도 작동하지 않습니다. 단순함을 위해이 질문에서 따옴표를 편집했습니다. – Raphael

답변

0

당신이 MongoDB의 버전을 이전 사용하고 (MongoDB를 2.0.0 사용)

? 그렇다면 아마도 this 버그 일 것입니다. 2.0.0- * 버전에서 수정되었습니다.

편집 : 실제로 이것은 다른 문제 일 수 있습니다. 쿼리의 공백을 제거하여 문제를 해결할 수 있습니다. 공백은 쉘이 실제로 여러 인수라고 생각하는 것처럼 보입니다 :

QUERY="'{\"type\":\"listing\"}'" 
+0

감사! 업그레이드하여 문제가 해결되는지 확인하십시오. – Raphael

+0

@raphaelcm 공간을 제거하면 문제를 해결할 수 있습니다. 답변이 수정되었습니다. – Lycha

+0

그 작품은 ... 이상하게 보입니다. mongoexport가 따옴표 붙은 문자열에서 공백을 처리해서는 안됩니까? – Raphael

관련 문제