Synopsis
mongofiles 유틸리티를 사용하면 명령줄에서 GridFS 객체의 MongoDB 인스턴스에 저장된 파일을 조작할 수 있습니다. 파일 시스템과 GridFS에 저장된 객체 간의 인터페이스를 제공하므로 특히 유용합니다.
mongofiles 이 아닌 시스템 명령줄에서 를 mongo shell 실행합니다.
버전 관리
이제 mongofiles 는 MongoDB Server 와 별도로 릴리스되며 초기 버전이 100.0.0인 자체 버전 관리를 사용합니다. 이전에는 mongofiles 가 MongoDB Server 와 함께 릴리스되었으며 일치하는 버전 관리를 사용했습니다.
이 문서는 mongofiles 의 100.13.0 버전에 대한 문서입니다.
호환성
MongoDB 서버 호환성
mongofiles 버전 100.13.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.13.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 11 이상 | ✓ | |||
Windows Server 2016 이상 | ✓ | |||
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 /mongodmongofiles의 연결 입니다 .명령. 다음 명령 중 하나를 사용하여
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를 실행합니다.이 옵션은 다음과 같은 활동을 억제합니다.
데이터베이스 명령에서 출력
복제 활동
연결 수락 이벤트
연결 종료 이벤트
--versionmongofiles릴리스 번호를 반환합니다.
--config=<filename>버전 100.3.0의 새로운 기능.
다음
mongofiles옵션에 대한 민감한 값을 포함하는 YAML 설정 파일의 전체 경로를 지정합니다.비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에
mongofiles에 비밀번호를 지정하는 권장 방법입니다. 파일의 인수를 원하는 모든 조합으로 사용할 수 있습니다.구성 파일은 다음과 같은 형식을 취합니다:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password옵션을 지정하고uri를 지정하지 않으면,--username및--host와 같은mongofiles명령줄 옵션을 사용하여 연결 문자열의 다른 구성 요소를 지정할 수 있습니다.적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.
중요
--config옵션을 사용할 때는 다음과 같은 제한 사항 및 동작을 염두에 두세요.password필드를 제공하고uri필드에 충돌하는 비밀번호가 포함된 연결 문자열을 제공하면mongorestore에서 오류가 발생합니다.--config로 설정 파일을 지정하고--password,--uri또는--sslPEMKeyPasswordmongofiles명령줄 옵션을 사용하는 경우 명령줄 옵션이 해당 설정 파일 옵션을 재정의합니다.
--uri=<connectionString>따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열을 지정합니다.
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" 100.0mongofiles버전 부터는 string 옵션을 사용하지 않고 연결 을 위치 매개변수로 제공할 수도 있습니다.--urimongofiles 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를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.
--sslTLS/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활성화된mongodCAFile또는 에 연결할 때 필요합니다또는
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 구성을 참조하세요.
--sslAllowInvalidHostnamesTLS/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-AWSauthentication 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-AWSauthentication mechanism을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.이 필드,
AWS_SECRET_ACCESS_KEY환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
경고
일부 시스템에서는
--password옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는ps와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려합니다.--password옵션을 생략하여 대화형 암호 프롬프트를 받거나, 또는--config옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.
--awsSessionToken=<AWS Session Token>MONGODB-AWSauthentication mechanism를 사용하여 MongoDB Atlas 클러스터에 연결하고 AWS 액세스 키 ID 및 시크릿 액세스 키 외에 세션 토큰을 사용하는 경우, 다음에서 AWS 세션 토큰을 지정할 수 있습니다.이 필드,
connection string에 대한AWS_SESSION_TOKENauthMechanismProperties매개 변수, 또는AWS_SESSION_TOKEN환경 변수.
각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.
MONGODB-AWSauthentication mechanism을 사용할 때만 유효합니다.
--authenticationDatabase=<dbname>지정한
--username이 생성된 인증 데이터베이스를 지정합니다. 인증 데이터베이스를 참조하세요.GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는
MONGODB-AWSauthentication 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인증 메커니즘에 대한 지원을 제공합니다.값설명SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.5802 1
SHA- 해시 함수를 사용하는RFC 표준 솔티드 챌린지 응답 인증 메커니즘.7677 256
featureCompatibilityVersion이
4.0으로 설정되어야 합니다.MongoDB TLS/SSL 인증서 인증.
MONGODB-AWSMongoDB 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 simongofiles는 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의 새로운 기능.
Amazon Web Services IAM 자격 증명 통해 인증 지원 하도록 구성된 MongoDB Atlas cluster 에 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가 사용됩니다.
Amazon Web Services 세션 토큰도 사용하는 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>
명령줄 매개변수로 제공되는 경우 이러한 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
표준 Amazon Web Services IAM 환경 변수를 사용하여 플랫폼에서 이러한 자격 증명 설정하다 수도 있습니다. mongofiles 는 MONGODB-AWS authentication mechanism를 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_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>