mongofiles
Synopsis
mongofiles
유틸리티를 사용하면 명령줄에서 GridFS 객체의 MongoDB 인스턴스에 저장된 파일을 조작할 수 있습니다. 파일 시스템과 GridFS에 저장된 객체 간의 인터페이스를 제공하므로 특히 유용합니다.
mongofiles
이 아닌 시스템 명령줄에서 를 mongo
shell 실행합니다.
버전 관리
MongoDB 4.4부터 mongofiles
는 이제 MongoDB Server와 별도로 출시되며 자체 버전을 사용합니다. 초기 버전은 100.0.0
입니다. 이전에 mongofiles
는 MongoDB Server와 함께 출시되었으며 동일한 버전을 사용했습니다.
mongofiles
의 MongoDB 4.2 또는 이전 버전의에 대한 문서는 도구의 해당 버전에 대한 MongoDB Server 문서를 참조하세요.
이 문서는 mongofiles
의 100.10.0
버전에 대한 문서입니다.
호환성
MongoDB 서버 호환성
mongofiles
버전 100.10.0
는 다음 버전의 MongoDB Server를 지원합니다.
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
mongofiles
는 이전 버전의 MongoDB 서버에서 작동할 수 있지만 이러한 호환성이 보장되지는 않습니다.
플랫폼 지원
mongofiles
버전 100.10.0
는 다음 플랫폼에서 지원됩니다.
x86_64 | ARM64 | PPC64LE | s390x | |
---|---|---|---|---|
Amazon Linux 2023 | ✓ | ✓ | ||
Amazon 2 | ✓ | ✓ | ||
Amazon 2013.03+ | ✓ | |||
Debian 12 | ✓ | |||
Debian 11 | ✓ | |||
Debian 10 | ✓ | |||
Debian 9 | ✓ | |||
RHEL / CentOS 9 | ✓ | ✓ | ||
RHEL / CentOS 8 | ✓ | ✓ | ||
RHEL / CentOS 7 | ✓ | ✓ | ✓ | |
RHEL / CentOS 6 | ✓ | |||
SUSE 15 | ✓ | |||
SUSE 12 | ✓ | |||
Ubuntu 24.04 | ✓ | ✓ | ||
Ubuntu 22.04 | ✓ | ✓ | ||
Ubuntu 20.04 | ✓ | ✓ | ||
Ubuntu 18.04 | ✓ | ✓ | ||
Ubuntu 16.04 | ✓ | ✓ | ✓ | |
Windows 8 이상 | ✓ | |||
Windows Server 2012 이상 | ✓ | |||
macOS 11 이상 | ✓ | ✓ | ||
macOS 10.12 - 10.15 | ✓ |
설치
mongofiles
도구는 MongoDB database 도구 패키지의 일부입니다.
➤ Database Tools 설치 가이드에 따라 mongofiles
를 설치합니다.
구문
mongofiles
명령의 형식은 다음과 같습니다.
mongofiles <options> <connection-string> <command> <filename or _id>
mongofiles
이 아닌 시스템 명령줄에서 를 mongo
shell 실행합니다.
mongofiles
명령의 구성 요소는 다음과 같습니다.
옵션. 이러한 옵션 중 하나 이상을 사용하여
mongofiles
의 동작을 제어할 수 있습니다.Connection String
. 와mongos
연결할 string /mongod
mongofiles
의 연결 입니다 .명령. 다음 명령 중 하나를 사용하여
mongofiles
의 조치를 결정합니다.로컬 파일 시스템의 파일 이름 또는 GridFS 객체인 식별자입니다.
중요
복제본 세트 의 경우 mongofiles
는 세트의 프라이머리에서만 읽을 수 있습니다.
필요한 액세스 권한
--auth
옵션으로 권한 부여를 실행하는 mongod
에 연결하려면 --username
및 --password
옵션을 사용해야 합니다. 연결 사용자는 최소한 다음과 같은 자격을 갖추어야 합니다.
행동
FIPS
mongofiles
는 FIPS 모드를 사용하도록 구성된 mongod
/mongos
에 대해 FIPS 준수 연결을 자동으로 생성합니다.
읽기 설정
기본적으로 mongofiles
는 읽기 설정 primary
를 사용합니다. 기본값을 재정의하려면 --readPreference
명령줄 옵션 또는 --uri connection string
에서 읽기 설정을 지정할 수 있습니다.
URI 문자열 및 --readPreference
에 읽기 설정을 지정하면 --readPreference
값이 URI 문자열에 지정된 읽기 설정을 재정의합니다.
쓰기 고려
--writeConcern
및 --uri connection string
옵션을 모두 지정할 수 있습니다. 두 옵션을 모두 사용하여 쓰기 고려를 지정한 경우 --writeConcern
값이 URI string 에 지정된 쓰기 고려를 재정의합니다.
옵션
--help
옵션 및
mongofiles
의 사용에 대한 정보를 반환합니다.
--quiet
출력량을 제한하는 조용한 모드에서
mongofiles
를 실행합니다.이 옵션은 다음과 같은 활동을 억제합니다.
데이터베이스 명령에서 출력
복제 활동
연결 수락 이벤트
연결 종료 이벤트
--version
mongofiles
릴리스 번호를 반환합니다.
--config=<filename>
버전 100.3.0의 새로운 기능.
다음 옵션에 대한 민감한 값이 포함된 YAML 구성 파일의 전체 경로를
mongofiles
에 지정합니다.비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에
mongofiles
에 비밀번호를 지정하는 권장 방법입니다.구성 파일은 다음과 같은 형식을 취합니다:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password:
필드에 암호를 지정하고uri:
필드에 충돌하는 암호가 포함된 연결 문자열을 제공하면 오류가 발생합니다.적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.
참고
--config
로 구성 파일을 지정하고--password
,--uri
또는--sslPEMKeyPassword
옵션을mongofiles
에 사용하는 경우 각 명령줄 옵션은 구성 파일의 해당 옵션을 재정의합니다.
--uri=<connectionString>
따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" 100.0
mongofiles
버전 부터는 string 옵션을 사용하지 않고 연결 을 위치 매개변수로 제공할 수도 있습니다.--uri
mongofiles mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 연결 문자열은
mongodb://
또는mongodb+srv://
중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예시:mongofiles --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 연결 문자열은 하나만 제공할 수 있습니다.
--uri
옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.
참고
connection string
의 일부 구성요소는--username
및--password
와 같은 자체 명시적 명령줄 옵션을 사용하여 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.참고
Ubuntu 18.04에서
mongofiles
를 사용하는 경우cannot unmarshal DNS
--uri
옵션과 함께 SRV 연결 문자열(mongodb+srv://
형식)을 사용할 때cannot unmarshal DNS
오류 메시지가 표시될 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.비SRV 연결 문자열이 있는
--uri
옵션(mongodb://
형식)--host
옵션을 사용하여 직접 연결할 호스트를 지정하세요.
--host=<hostname><:port>
GridFS 시스템을 보유하는
mongod
에 확인 가능한 호스트 이름을 지정합니다.mongofiles
는 기본값으로 localhost 포트 번호27017
에서 실행 중인 MongoDB 프로세스에 연결하려고 시도합니다.선택적으로 포트 번호를 지정하여 27017이 아닌 다른 포트에서 실행 중인 MongoDB 인스턴스를 연결할 수 있습니다.
또는
URI connection string
에 호스트 이름을 직접 지정할 수도 있습니다.--host
를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--port=<port>
기본값: 27017
MongoDB 인스턴스가 클라이언트 연결 수신을 대기하는 TCP 포트를 지정합니다.
또는
URI connection string
에 포트를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--port
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--ssl
TLS/SSL 지원이 활성화된
mongod
또는mongos
에 연결할 수 있습니다.또는
URI connection string
에서 직접 TLS/SSL 지원을 구성할 수도 있습니다. 연결 문자열을 제공하면서--ssl
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslCAFile=<filename>
인증 기관의 루트 인증서 체인이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여.pem
파일의 이름을 지정합니다.또는
URI connection string
에 직접.pem
파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslCAFile
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslPEMKeyFile=<filename>
TLS/SSL 인증서와 키가 모두 포함되어 있는
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해.pem
파일의 이름을 지정합니다.이 옵션은 옵션을 사용하여
allowConnectionsWithoutCertificates
없이--ssl
{ 가mongos
활성화된mongod
CAFile
또는 에 연결할 때 필요합니다또는
URI connection string
에 직접.pem
파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslPEMKeyFile
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslPEMKeyPassword=<value>
인증서-키 파일 해독을 위한 비밀번호를 지정합니다(예:
--sslPEMKeyFile
). 인증서 키 파일이 암호화된 경우에만--sslPEMKeyPassword
옵션을 사용합니다. 모든 경우에mongofiles
는 모든 로깅 및 리포트 출력에서 비밀번호를 삭제합니다.PEM 파일의 개인 키가 암호화되어 있고
--sslPEMKeyPassword
옵션을 지정하지 않은 경우mongofiles
에서 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.또는
URI connection string
에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--sslPEMKeyPassword
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
경고
일부 시스템에서는
--sslPEMKeyPassword
옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps
와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신--config
옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정하는 것이 좋습니다.
--sslCRLFile=<filename>
인증서 해지 목록이 포함된
.pem
파일을 지정합니다. 상대 경로 또는 절대 경로를.pem
파일의 이름을 지정합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidCertificates
서버 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서의 사용을 허용합니다.
allowInvalidCertificates
설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.경고
또는
URI connection string
에서 인증서 유효성 검사를 비활성화할 수도 있습니다. 연결 문자열을 제공하면서--sslAllowInvalidCertificates
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--sslAllowInvalidHostnames
TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도
mongofiles
가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.또는
URI connection string
에서 호스트 이름 유효성 검사를 비활성화할 수도 있습니다.--sslAllowInvalidHostnames
를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성 및 클라이언트용 TLS/SSL 구성을 참조하세요.
--username=<username>, -u=<username>
인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 사용자 이름을 지정합니다.
--password
및--authenticationDatabase
옵션과 함께 사용합니다.또는
URI connection string
에 직접 사용자 이름을 지정할 수도 있습니다. 연결 문자열을 제공하면서--username
을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.MONGODB-AWS
authentication mechanism
을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에 AWS 액세스 키 ID를 지정할 수 있습니다.이 필드,
AWS_ACCESS_KEY_ID
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
--password=<password>, -p=<password>
인증을 사용하는 MongoDB database에 인증하는 데 사용할 비밀번호를 지정합니다.
--username
및--authenticationDatabase
옵션과 함께 사용합니다.사용자에게 비밀번호를 묻는 메시지를 표시하려면
--password
없이--username
옵션을 전달하거나--password ""
에서와 같이 빈 문자열을--password
값으로 지정합니다.또는
URI connection string
에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서--password
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.MONGODB-AWS
authentication mechanism
을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.이 필드,
AWS_SECRET_ACCESS_KEY
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
경고
일부 시스템에서는
--password
옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps
와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려합니다.--password
옵션을 생략하여 대화형 암호 프롬프트를 받거나, 또는--config
옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.
--awsSessionToken=<AWS Session Token>
MONGODB-AWS
authentication mechanism
를 사용하여 MongoDB Atlas 클러스터에 연결하고 AWS 액세스 키 ID 및 시크릿 액세스 키 외에 세션 토큰을 사용하는 경우, 다음에서 AWS 세션 토큰을 지정할 수 있습니다.이 필드,
connection string
에 대한AWS_SESSION_TOKEN
authMechanismProperties
매개 변수, 또는AWS_SESSION_TOKEN
환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
MONGODB-AWS
authentication mechanism
을 사용할 때만 유효합니다.
--authenticationDatabase=<dbname>
지정한
--username
이 생성된 인증 데이터베이스를 지정합니다. 인증 데이터베이스를 참조하세요.GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는
MONGODB-AWS
authentication mechanisms
를 사용하는 경우--authenticationDatabase
를$external
로 설정해야 합니다.또는
URI connection string
에서 직접 인증 데이터베이스를 지정할 수도 있습니다. 연결 문자열을 제공하면서--authenticationDatabase
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--authenticationMechanism=<name>
기본값: SCRAM-SHA-1
mongofiles
인스턴스가mongod
또는mongos
(을)를 인증하는 데 사용하는 인증 메커니즘을 지정합니다.버전 100.1.0 변경 사항: 버전
100.1.0
부터mongofiles
는 MongoDB Atlas 클러스터에 연결할 때MONGODB-AWS
인증 메커니즘에 대한 지원을 제공합니다.값설명RFC 5802 SHA-1 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.RFC 7677 표준 SHA-256 해시 함수를 사용하는 솔티드 챌린지 응답 인증 메커니즘.
featureCompatibilityVersion이
4.0
으로 설정되어야 합니다.MongoDB TLS/SSL 인증서 인증.MONGODB-AWS
MongoDB Atlas 클러스터 연결에 사용하기 위한 AWS IAM 자격 증명을 사용하는 외부 인증입니다. AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
버전 100.1.0의 새로운 기능.
GSSAPI (Kerberos)Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.PLAIN (LDAP SASL)LDAP를 사용한 외부 인증.PLAIN
을 사용해 데이터베이스 내 사용자를 인증할 수도 있습니다.PLAIN
은 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.또는
URI connection string
에서 직접 인증 메커니즘을 지정할 수도 있습니다. 연결 문자열을 제공하면서--authenticationMechanism
를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--gssapiServiceName=<serviceName>
GSSAPI/Kerberos를 사용하여 서비스 이름을 지정합니다. 서비스가 기본값 이름인
mongodb
를 사용하지 않는 경우에만 필요합니다.이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
--gssapiHostName=<hostname>
GSSAPI/Kerberos를 사용하여 서비스의 호스트 이름을 지정합니다. 시스템의 호스트 이름이 DNS에서 확인한 호스트 이름과 일치하지 않는 경우에만 필요합니다.
이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.
--db=<database>, -d=<database>
mongofiles
를 실행할 데이터베이스의 이름을 지정합니다.또는
URI connection string
에 직접 데이터베이스를 지정할 수도 있습니다.--db
를 사용하는 동안 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.
--local=<filename>, -l=<filename>
가져오기 및 넣기 작업에 사용할 파일의 로컬 파일 시스템 이름을 지정합니다.
mongofiles put 및 mongofiles get 명령에서 필요한
<filename>
수정자는 GridFS에서 객체에 부여될 이름을 나타냅니다.mongofiles
는 이것이 로컬 파일 시스템의 파일 이름을 반영한다고 가정합니다. 이 설정은 해당 기본값을 재정의합니다.
--type=<MIME>
GridFS 스토리지에 삽입된 파일을 설명하는 MIME 유형을 지정하는 기능을 제공합니다.
mongofiles
는 기본 작업에서 이 옵션을 생략합니다.mongofiles put 작업에만 사용합니다.
--replace, -r
동일한 이름의 객체를 추가하는 대신 기존 GridFS 객체를 지정된 로컬 파일로 대체하기 위해 mongofiles put의 동작을 변경합니다.
기본 작업에서는 mongofiles put 옵션으로 파일을 덮어쓰지 않습니다.
--writeConcern=<document>
기본값: 대다수(majority)
가
mongofiles
수행하는 각 쓰기 작업에 대한 쓰기 고려 를 지정합니다.--writeConcern="{w:'majority'}" 쓰기 고려가
--uri connection string
에도 포함되어 있으면 명령줄--writeConcern
이 URI string 에 지정된 쓰기 고려를 재정의합니다.
--readPreference=<string|document>
기본값:
primary
에
mongofiles
대한 읽기 설정 을 지정합니다.--readPreference
옵션은 다음을 사용할 수 있습니다.읽기 설정 모드만 지정하는 경우 문자열입니다:
--readPreference=secondary 따옴표로 묶인 문서를 통해 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' maxStalenessSeconds를 지정하는 경우 값은 90 이상이어야 합니다.
mongofiles
기본값은primary
읽기 설정입니다.읽기 설정이
--uri connection string
에도 포함되어 있으면 명령줄--readPreference
이 URI string 에 지정된 읽기 설정을 재정의합니다.
명령.
list <prefix>
GridFS 저장소에 있는 파일을 나열합니다.
list
뒤에 지정된 문자 (예:<prefix>
)의 경우 반환된 항목 목록을 해당 문자열로 시작하는 파일로 선택적으로 제한합니다.
search <string>
<string>
의 일부와 일치하는 이름을 가진 GridFS 저장소의 파일을 나열합니다.
put <filename1[ filename2] ...>
지정한 파일을 로컬 파일 시스템에서 GridFS 스토리지로 복사합니다. 여러 파일을 공백으로 구분된 목록으로 지정할 수 있습니다.
지정된 각 파일 이름은 객체가 GridFS에서 갖게 될 이름을 나타내며
mongofiles
는 이 이름이 로컬 파일 시스템에서 파일이 갖는 이름을 반영한다고 가정합니다. 로컬 파일 이름이 다른 경우mongofiles --local
옵션을 사용합니다.
get <filename1[ filename2] ...>
지정한 파일을 GridFS 스토리지에서 로컬 파일 시스템으로 복사합니다.
지정된 각 파일 이름은 객체가 GridFS에 있는 이름을 참조하며,
mongofiles
는 로컬 파일 시스템에 쓸 때 이 파일 이름을 사용합니다.get
명령에filename
을 하나만 지정하는 경우--local
옵션을 사용하여 원하는 경우 쓸 다른 로컬 파일 이름을 지정할 수 있습니다.get
명령에filename
을 두 개 이상 지정하는 경우--local
옵션을 사용할 수 없습니다.참고
GridFS 스토리지에서 정규 표현식과 일치하는 파일을 복사하려면
get_regex
명령을 대신 사용합니다.
get_id "<_id>"
<_id>
로 지정된 파일을 GridFS 저장소에서 로컬 파일 시스템으로 복사합니다.<_id>
는 GridFS에 있는 객체의 확장 JSON_id
를 참조합니다.get_id
는<_id>
에 대해 ObjectId 값 또는 비-ObjectId 값을 허용할 수 있습니다.mongofiles
는 GridFS의 파일 이름을 사용하여 로컬 파일 시스템에 파일을 씁니다. 로컬 파일 시스템에서 파일의 다른 위치를 선택하려면--local
옵션을 사용합니다.
get_regex <regex> --regexOptions <regex-options>
지정된
<regex>
표현식과 일치하는 파일을 GridFS 스토리지에서 로컬 파일 시스템으로 복사합니다.get_regex
명령은 UTF-8 지원이 포함된 펄(Perl) 호환 정규 표현식(" PCRE ") 버전 8.42를 사용합니다.--regexOptions
플래그를 사용하여 하나 이상의<regex-options>
을 선택적으로 지정할 수 있습니다. 대소문자를 구분하지 않는 등의 설정을 포함 하여 $regex 연산자에서 지원하는 모든 옵션 을 사용할 수 있습니다. 여러 옵션은 구분 기호 없이 함께 제공해야 합니다.--regexOptions si
mongofiles
는 GridFS에서 각 파일과 일치하는 파일 이름을 사용하여 로컬 파일 시스템에 파일을 씁니다.--local
옵션은get_regex
명령과 함께 사용할 수 없습니다 .
delete <filename>
지정한 파일을 GridFS 스토리지에서 삭제합니다.
delete_id "<_id>"
<_id>
(으)로 지정된 파일을 GridFS 저장소에서 삭제합니다.delete_id
는<_id>
에 대해 ObjectId 값 또는 비-ObjectId 값을 받아들일 수 있습니다.
예시
mongofiles
이 아닌 시스템 명령줄에서 를 mongo
shell 실행합니다.
records
데이터베이스의 GridFS 컬렉션에 있는 모든 파일 목록을 반환하려면 시스템 shell 에서 다음 호출을 사용합니다.
mongofiles -d=records list
이 mongofiles
인스턴스는 27017
로컬 호스트 인터페이스에서 실행 중인 mongod
인스턴스에 연결하여 다른 포트 또는 호스트 이름에서 동일한 작업을 지정하고 다음 중 하나와 유사한 명령을 실행합니다.
mongofiles --port=37017 -d=records list mongofiles --host=db1.example.net -d=records list mongofiles --host=db1.example.net --port=37017 -d=records list
다른 포트 또는 호스트에서 mongod
인스턴스를 연결하는 경우 필요에 따라 다음 명령 중 하나를 수정합니다.
32-corinth.lp
파일을 records
데이터베이스의 GridFS 컬렉션에 업로드하려면 다음 명령을 사용할 수 있습니다.
mongofiles -d=records put 32-corinth.lp
records
데이터베이스 내 해당 GridFS 컬렉션에서 32-corinth.lp
파일을 삭제하려면 다음 명령을 사용할 수 있습니다.
mongofiles -d=records delete 32-corinth.lp
records
데이터베이스 내 GridFS 컬렉션의 파일 중 이름에 corinth
(이)가 포함된 파일을 검색하려면 다음 명령을 사용할 수 있습니다:
mongofiles -d=records search corinth
records
데이터베이스의 GridFS 컬렉션에서 이름이 32
문자열로 시작하는 모든 파일을 나열하려면 다음 명령을 사용할 수 있습니다:
mongofiles -d=records list 32
records
데이터베이스의 GridFS 컬렉션에서 32-corinth.lp
이라는 파일을 불러오려면 다음 명령을 사용할 수 있습니다.
mongofiles -d=records get 32-corinth.lp
records
데이터베이스의 GridFS 컬렉션에서 이름이 32
문자열로 시작하고 .lp
문자열로 끝나는 모든 파일을 불러오려면 다음 명령을 사용할 수 있습니다:
mongofiles -d=records get_regex 32*.lp
records
데이터베이스의 GridFS 컬렉션에서 _id: ObjectId("56feac751f417d0357e7140f")
인 파일을 불러오려면 다음 명령을 사용할 수 있습니다:
mongofiles -d=records get_id '{"$oid": "56feac751f417d0357e7140f"}'
_id
주위에 따옴표를 넣어야 합니다.
AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기
버전 100.1.0의 새로운 기능.
AWS IAM 자격 증명을 통해 인증을 지원하도록 구성된 MongoDB Atlas 클러스터에 연결하려면 다음과 같이 connection string
을 mongofiles
에 제공하세요.
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
이러한 방식으로 AWS IAM 자격 증명을 사용하여 Atlas에 연결하면 이 예와 같이 MONGODB-AWS
authentication mechanism
및 $external
authSource
가 사용됩니다.
AWS 세션 토큰을 사용하는 경우에도 다음과 같이 AWS_SESSION_TOKEN
authMechanismProperties
값과 함께 제공합니다.
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
참고
또는 AWS 액세스 키 ID, 비밀 액세스 키, 세션 토큰(선택 사항)을 각각 연결 문자열 외부에서 제공할 수도 있습니다. 이때 다음과 같이 --username
, --password
및 --awsSessionToken
옵션을 대신 사용합니다.
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
명령줄 매개변수로 제공되는 경우 이러한 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
표준 AWS IAM 환경 변수를 통해 사용 중인 플랫폼에서 이러한 자격 증명을 설정할 수도 있습니다. mongofiles
는 MONGODB-AWS
authentication mechanism
을 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
설정된 경우 이러한 자격 증명은 연결 문자열이나 명시적 옵션을 통해 지정할 필요가 없습니다.
참고
AWS 환경 변수를 사용하여 이러한 값을 지정하기로 선택한 경우 이러한 자격 증명에 해당하는 명시적 또는 연결 문자열 옵션과 조합하여 사용할 수 없습니다. 액세스 키 ID 및 비밀 액세스 키(사용 중인 경우 세션 토큰도 함께 필요)에 환경 변수를 사용하거나 또는 명시적 또는 연결 문자열 옵션을 사용하여 각각을 지정합니다.
다음 예시에서는 bash
셸에서 이러한 환경 변수를 설정합니다.
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
다른 셸에서 환경 변수를 설정하는 구문은 다를 수 있습니다. 자세한 내용은 사용 중인 플랫폼의 설명서를 참조하세요.
다음 명령어로 이러한 환경 변수가 설정되었는지 확인할 수 있습니다.
env | grep AWS
설정이 완료되면 다음 예시에서는 이러한 환경 변수를 사용하여 MongoDB Atlas 클러스터에 연결합니다.
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>