이 페이지에서는 MongoDB 6.0에 도입된 변경 사항과 새로운 기능에 대해 설명합니다.
MongoDB 6.0은 Major Release입니다. 따라서 MongoDB Atlas 배포와 온프레미스 배포 모두를 지원합니다. MongoDB 6.0에는 MongoDB Rapid Release 5.1, 5.2, 5.3에 도입된 변경 사항이 포함됩니다. 이 페이지에서는 이러한 Rapid Release와 MongoDB 6.0에 도입된 변경 사항에 대해 설명합니다.
Major 릴리스와 Rapid Release의 차이점에 학습 보려면 MongoDB 버전 관리를 참조하세요.
경고
과거 릴리스 제한 사항
아래의 중요 권고 사항은 일부 이전 MongoDB 버전에 영향을 미칩니다. 중요 권고 사항의 영향을 받는 기능을 기반으로 배포하는 경우 사용 가능한 최신 패치 릴리스로 업그레이드하세요.
이슈 | 영향을 받는 버전 |
|---|---|
6.0.0 | |
6.0.0 - 6.0.12 | |
6.0.0~6.0.11 (metaField 내장된 객체에 의해 샤딩된 시계열 컬렉션) | |
6.0.0 - 6.0.13 | |
6.0.0~6.0.4 (ARM64 또는 POWER 시스템 아키텍처) | |
6.0.0~6.0.5 (Ops Manager 또는 Cloud Manager 클러스터의 증분 백업) | |
6.0.0 - 6.0.16 | |
6.0.0 - 6.0.14 |
패치 릴리스
6.0.27 - 2025년 12월 19일
중요
MongoDB 6.0.27 CVE-2025-14847에 대한 수정 사항이 포함되어 있습니다.
MongoDB 보안 업데이트에 대한 최신 정보는 MongoDB 보안 게시판.
수정된 문제:
서버-115508: 압축되지 않은 메시지에 대해 최소 크기의 버퍼를 만듭니다.
6.0.26 - 8월 15, 2025
수정된 문제:
서버-109268: FIPS 모드 OpenSSL 3를 통해 FIPS를 준수하지 않는 제공자의 암호화 알고리즘을 사용할 수 있습니다.
6.0.25 - 2025년 7월 17일
수정된 문제:
SERVER-83221: 클러스터형 컬렉션 listIndex에 TTL 표시되어야 합니다.
서버-92411: 모든 문서-소스 집계 단계에 인증 검사가 있는지 테스트합니다.
서버-95523: 업서트 DuplicateKey 재시도를 올바르게 처리하다 하지 못합니다.
서버-95524: 다중 문서 트랜잭션에서 업서트에 대한 중복 키 오류를 재시도하지 않습니다.
SERVER-95672: 하위 배열이 포함된 배열 필드의 인덱스에 일부 결과가 포함되지 않습니다.
6.0.24 - Jun 04, 2025
서버-82037: 정렬기 유출에 사용되는 메모리가 제한 없이 증가할 수 있습니다.
서버-88400: shardedDataDistribution 집계 단계는 Time Series에 대해 null 필드를 반환해서는 안 됩니다.
서버-92806: 계획 캐시 항목이 $elemMatch를 사용한 인덱스 정렬을 무시합니다.
SERVER-95976: 변경 스트림 단계에서 "matchCollectionUUIDForUpdateLookup" 매개변수를 도입합니다.
WT-13283 가비지 값을 표시하지 않도록 캐시 공격적 모드 수정
6.0.23 - 4월 29, 2025
중요
불완전한 데이터를 잘못 처리하여 mongos 새 연결을 수락하지 못할 수 있는 문제를 수정했습니다.
CVE-2025-6714로 인해 6.0.23 이전의 MongoDB 6.0 에서, MongoDB Server의 mongos 구성 요소는 불완전한 데이터를 잘못 처리하여 새 연결에 응답하지 않을 수 있습니다. 이 문제는 지정된 포트에서 HAProxy 를 사용하는 mongos 에 대한 로드 밸런서 지원 으로 구성된 샤딩된 MongoDB 클러스터에 영향을 미칩니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.0.0 - 8.0.8
7.0.0 - 7.0.19
6.0.0 - 6.0.22
CVSS 점수: 7.5
CWE: CWE-834 과도한 반복 및 CWE-400 제어되지 않는 리소스 소비
수정된 문제:
6.0.22 - 4월 14, 2025
중요
MongoDB Server $mergeCursors 단계로 인해 권한 에스컬레이션에 취약할 수 있습니다.
6.0.22 이전의 MongoDB 6.0 에서 CVE-2025-6713로 인해 $mergeCursors 단계의 부적절한 처리로 인해 권한이 없는 사용자가 특수하게 조작된 집계 파이프라인 활용하여 적절한 권한 부여 없이 데이터에 액세스 수 있습니다. MongoDB Server. 이로 인해 추가 권한 부여 부여 없이 데이터에 액세스 할 수 있습니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.0.0 - 8.0.6
7.0.0 - 7.0.18
6.0.0 - 6.0.21
CVSS 점수: 7.7
CWE: CWE-285: 부적절한 권한 부여
수정된 문제:
서버-106752 MongoDB Server
$mergeCursors단계로 인해 권한 에스컬레이션에 취약할 수 있습니다.
6.0.21 - 2025년 3월 17일
중요
MongoDB 서버 OIDC 인증의 사전 인증 서비스 거부 취약점
CVE-2025-6709로 인해 6.0.21 이전의 MongoDB 6.0 에서, MongoDB Server OIDC 인증 사용할 때 JSON 입력의 특정 날짜 값을 부적절하게 처리하여 서비스 거부 취약점에 취약합니다. 이는 Mongo 셸 사용하여 악의적인 JSON 페이로드를 전송하여 불변성 장애 및 서버 충돌을 유발하는 현상을 재현할 수 있습니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.0.0 - 8.0.4
7.0.0 - 7.0.16
동일한 문제가 MongoDB Server v6.0에도 영향을 미치지만, 공격자는 인증 후에만 서비스 거부를 유도할 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
6.0.0 - 6.0.20
CVSS 점수: 7.5
CWE: CWE-20: 잘못된 입력 유효성 검사
중요
MongoDB 에서 과도한 재귀를 통한 JSON 구문 분석의 사전 인증 서비스 Stack Overflow 오버플로 취약점
CVE-2025-6710로 인해 6.0.21 이전의 MongoDB 6.0 에서, MongoDB Server JSON 구문 분석 메커니즘으로 인해 Stack Overflow 에 취약할 수 있으며, 특별히 조작된 JSON 입력은 불필요한 수준의 재귀를 유발하여 과도한 스택 공간 소비를 초래할 수 있습니다. 이러한 입력으로 인해 Stack Overflow 로가 발생하여 서버 충돌하여 사전 인증이 발생할 수 있습니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.0.0 - 8.0.4
7.0.0 - 7.0.16
동일한 문제가 MongoDB Server v6.0에도 영향을 미치지만, 공격자는 인증 후에만 서비스 거부를 유도할 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
6.0.0 - 6.0.20
CVSS 점수: 7.5
CWE: CWE-674: 제어되지 않는 재귀
수정된 문제:
서버-94405 FCV 5로 다운그레이드할 때 세션 컬렉션 에서 자동 분할을 다시 활성화합니다.0
SERVER-96252 샤드 키 인덱스가 누락된 경우 setOrphanCountersOnRangeDeletionTasks가 실패합니다.
서버-98720 "실행 계획 오류" 경고 로그에 누락된 redact() 호출 추가
서버-100594 최대 fromjson 깊이를 250 에서 200로 낮춥니다.
SERVER-101298 압축에서 전역 잠금을 얻기 전에 PBWM 잠금을 선택 해제하세요.
서버-106748 OIDC 인증 수락 시 사전 인증 서비스 거부
서버-106749 MongoDB 에서 과도한 재귀를 통한 JSON 구문 분석의 사전 인증 서비스 Stack Overflow 오버플로 취약점
6.0.20 - 1월 15, 2025
서버-93205 serverStatus의 prepareUnique 인덱스 수를 노출합니다.
서버-94144 $lookup 내의 $documents가 QueryStats로 구문 분석에 실패했습니다.
서버-94592 설명을 위한 내부 인수를 확인합니다.
SERVER-94635 세션 새로 고침 매개 변수를 구성할 수 있도록 합니다.
서버-95445 SSLManagerOpenSSL은 리프뿐만 아니라 CRL에 대해 전체 인증서 체인의 유효성을 검사해야 합니다.
6.0.19 - 2024년 10월 24일
중요
null 바이트의 부적절한 중화로 인해 MongoDB Server 에서 버퍼 오버 읽기가 발생할 수 있습니다.
6.0.19 이전의 MongoDB 6.0 에서는 권한이 부여된 사용자가 MongoDB Server 에서 잘못된 BSON 구성하는 특수하게 조작된 요청을 발행하여 충돌을 트리거하다 서버 메모리의 버퍼 오버 읽기 내용을 수신할 수 있습니다.
이 문제는 MongoDB Server 버전에 영향을 미칩니다.
5.0.0 - 5.0.29
6.0.0 - 6.0.18
7.0.0 - 7.0.14
8.0.0 - 8.0.2
서버-96419 null 바이트의 부적절한 중화로 인해 MongoDB Server 에서 버퍼 오버 읽기가 발생할 수 있습니다.
6.0.18 - 2024년 9월 30일
6.0.17 - 8월 21, 2024
중요
CSFLE 및 Queryable Encryption 자체 조회가 하위 파이프라인의 값을 암호 텍스트 대신 일반 텍스트로 전송할 수 있는 문제 수정
CVE-2024-8013로 인해, 6.0.16 이전의 MongoDB 6.0 에서는 특정 복잡한 자체 참조 $lookup 하위 파이프라인의 쿼리 분석 버그로 인해 전송되는 암호화됨 필드에 대한 표현식에 리터럴 값이 발생할 수 있습니다. 서버 에 연결합니다.
이 경우 문서는 반환되거나 기록되지 않습니다. 이 문제는 다음 MongoDB Server 버전의 mongocryptd 바이너리 및 mongo_crypt_v1 공유 라이브러리에 영향을 줍니다.
7.3.0 - 7.3.3
7.0.0 - 7.0.11
6.0.0 - 6.0.16
5.0.0 - 5.0.28
CVSS 점수: 2.2
CWE: CWE-319: 민감한 정보의 일반 텍스트 전송
SERVER-96254 CSFLE 및 Queryable Encryption 자체 조회가 하위 파이프라인의 값을 암호화하지 못할 수 있음
서버-85892 $documents가 오류를 반환한 후 파이프라인 과 $merge합니다.
서버-91195 최상위 timeseries 컬렉션 옵션을 놓치지 않도록 일반적인 백포터블 솔루션을 제공합니다.
서버-91362 성능: 캐시된 JsExecution이 있는 경우 JS "범위" 객체를 복사하지 마세요.
SERVER-91406 $changeStreamSplitLargeEvent는 이름을 바꿀 수 없는 일치 표현식과 함께 사용될 때 위치7182803 오류를 반환합니다.
WT-12708 축출 무작위 순회의 평가/개정
6.0.16 - Jun 28, 2024
서버-79637 잘못된 쿼리로 인해 상관 관계가 지정된 조건자를 사용하여 TS 외부 컬렉션과
$lookup서버-86474
$set: { foo: Timestamp(0, 0) }를 포함한$_internalApplyOplogUpdate가 올바르게 복제되지 않습니다.SERVER-89625 백업 중 네임스페이스 및 UUID 보고 시 DirectoryPerDb 및 wiredTigerDirectoryForIndexes를 올바르게 처리
WT-10807 트리 워크의 일부로 메모리 내 삭제된 페이지를 건너뜁니다.
WT-12609 체크포인트 정리 및 페이지 제거 로직 개선
6.0.15 - 4월 18, 2024
SERVER-72703 $out의 db 잠금을 MODE_IX로 다운 그레이드
서버-78556 internalInsertMaxBatchSize의 기본값을 64로 반환
SERVER-80363 서버 기본 writeConcern은 wtimeout이 설정된 경우 적용되지 않음
SERVER-83602 $or - > $in MatchExpression 재작성은 $or를 생성하지 않아야 하며 다른 $or에 직접 중첩되어서는 안 됨
WT-11062 참조 주소를 안전하게 해제하여 동시 액세스를 허용함
6.0.14 - Feb 28, 2024
중요
MongoDB Server가 신뢰할 수 없는 연결에 성공할 수 있는 문제를 수정했습니다.
CVE-2024-1351 로 인해 6.0.14 이전의 MongoDB 6.0 에서, --tlsCAFile 및 CAFile 의 특정 구성에서 MongoDB Server는 피어 인증서 유효성 검사를 건너뛸 수 있으며, 이로 인해 신뢰할 수 없는 연결이 성공할 수 있습니다.
이렇게 하면 TLS에서 제공하는 보안 보장과 인증서 유효성 검사 실패로 인해 닫아야 하는 열린 연결이 효과적으로 줄어들 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
7.0.0 - 7.0.5
6.0.0 - 6.0.13
5.0.0 - 5.0.24
4.4.0 - 4.4.28
CVSS 점수: 8.8
CWE: CWE-295: 부적절한 인증서 유효성 검사
SERVER-82353 MovePrimary가 동시에 실행될 때 다중 문서 트랜잭션이 문서를 놓칠 수 있음
SERVER-83119 notablescan가 활성화된 경우 클러스터형 컬렉션에서 세컨더리 복제본 충돌
서버-83145 공유 버퍼 조각이 freeUnused()에서 메모리 사용량을 잘못 추적
SERVER-83564 프로세스 필드가 config.locks에 색인되어 있는지 확인함
WT-12077 택의 버퍼에 대한 zSeries의 하드웨어 체크섬 계산이 잘못됨
6.0.13 - 2024년 1월 18일
서버-33494 WT SizeStorer는 이전 항목을 삭제하지 않음
SERVER-50792 shardCollection/refineCollectionShardKey에 대한 샤드 키 인덱스를 찾을 수 없는 경우 더 유용한 오류를 반환함
SERVER-70155 oplog 슬롯이 mongod '느린 쿼리' 로그 줄에 열려 있는 기간을 추가합니다
SERVER-77506 샤딩된 다중 문서 트랜잭션은 데이터와 ShardVersion이 일치하지 않을 수 있음
SERVER-83091 $or 쿼리는 계획을 열거하는 동안 무한 루프를 트리거할 수 있음
6.0.12 - 2023년 11월 27일
서버-69244 세션 기본 읽기 고려(read concern)가 'majority(과반수)'로 설정된 경우 $merge가 실패함
SERVER-81295 V1 재개 토큰으로 V2 changeStream 파이프라인을 재개할 수 없음
SERVER-81966 새로 고침하는 동안 이전 ChunkMap 인스턴스 수정을 방지합니다
WT-7929 체크포인트 중 FTDC 중단을 방지하기 위해 솔루션을 조사함
WT-11564 최신 트랜잭션 값이 체크포인트에 존재할 때만 읽도록 RTS를 수정함
6.0.11 - 2023년 10월 11일
서버-58534 FTDC에서 FCV 수집
서버-69244 세션 기본 읽기 고려(read concern)가 'majority(과반수)'로 설정된 경우 $merge가 실패함
서버-71520 RSTL 획득 시간 초과 시 모든 스레드 스택을 덤프합니다.
서버-79498 $vectorSearch를 6.0으로 백포트
SERVER-80021 double과 string 사이에서 $convert 왕복을 올바르게 수행함
6.0.10 - 2023년 9월 14일
SERVER-71627 클러스터에 1백만 개의 청크가 포함된 경우 캐시된 컬렉션 경로 정보를 새로 고침하면 모든 클라이언트 요청이 엄격하게 차단됨
서버-73394 잘못된 OperationBlockedByRefresh 측정항목 삭제
SERVER-77183 $project 뒤에 $group을 붙이면 잘못된 결과가 나오는 경우가 있음
서버-79771 리샤딩 작업의 복원력을 networkInterfaceExceededTimeLimit으로 설정 6.0.10의 모든 Jira 문제 해결
6.0.9 - 2023년 8월 14일
SERVER-60466 addShard가 실행되기 전에 서명된 $clusterTimes를 복제본 세트 --shardsvrs에 확산(gossip)하는 드라이버 지원
SERVER-74954 포함된 $or가 $elemMatch 예비 조건을 다시 작성하면 잘못된 결과가 발생함
SERVER-79136 시계열에 대한 metaField의 $match + $group의 잘못된 쿼리 결과
WT-10759 조정 중 기록 저장소 페이지 강제 퇴거를 다시 시도하지 않음
WT-11064 업데이트 확인의 일부로 전역에 나타나는 삭제 표시를 건너뜀
6.0.8 - 2023년 7월 13일
서버-61127 청크 마이그레이션이 진행 중인 경우 다중 쓰기로 인해 재시도 시도 횟수가 소진될 수 있음
SERVER-77005 LDAP 가동 중단 시간 동안 LDAP 사용자 로그인 상태 유지
SERVER-78126 특정 종류의 입력의 경우, 빅 엔디안 플랫폼에서 mongo::Value()가 항상 동일한 결과로 해시함
6.0.7 - 2023년 6월 28일
SERVER -71985 DuplicateKey 오류 발생 시 time series 삽입을 자동으로 재시도함
SERVER-73007 멀티패스 인증에 대해 CURL_OPT_SEEKFUNCTION이 설정되지 않음
SERVER-74551 mongo5.0으로 업그레이드 후 findAndModify 중에 WriteConflictException이 불필요하게 경고로 기록됨
SERVER-77018 dbStats와 2 인덱스 생성 간의 교착 상태가 발생함
WT-10449 기록 저장소에 기록할 업데이트가 없으면 업데이트 체인을 저장하지 않음
WT-11031 체크포인트에서 시간 창 정보가 없는 테이블을 건너뛰도록 RTS를 수정함
6.0.6 - 2023년 5월 12일
SERVER-51835 Mongos readPreferenceTags가 예상대로 작동하지 않습니다
SERVER-67105 $in 쿼리가 클러스터형 인덱스를 사용하지 않음
서버-72774 정지 모드의 노드가 투표에서 승리 가능
SERVER-74930 $avg가 집계 $group에서 평균 대신 합계 반환
SERVER-75205 모든 읽기 티켓이 소진되면 산출 후 잠금 복원과 강등 간 교착 상태가 발생함
6.0.5 - 2023년 3월 13일
경고
기존 MongoDB 인스턴스를 MongoDB 6.0.5로 업그레이드할 때 mongod.conf 파일에 fork: true 이 설정되어 있으면 해당 인스턴스가 시작되지 않을 수 있습니다.
업그레이드 문제는 .deb 또는 .rpm 설치 패키지를 사용하는 모든 MongoDB 인스턴스에 영향을 미칩니다. tarball(.tgz) 출시하다 또는 기타 패키지 유형을 사용하는 설치는 영향을 받지 않습니다. 자세한 내용은 서버-74345를 참조하세요.
fork: true 설정을 제거하려면 시스템 터미널에서 다음 명령을 실행합니다.
systemctl stop mongod.service sed -i.bak '/fork: true/d' /etc/mongod.conf systemctl start mongod.service
두 번째 systemctl 명령은 설정이 제거된 후 업그레이드된 인스턴스를 시작합니다.
수정된 문제:
SERVER-61909 인덱스 항목이 많은 문서의 삽입 또는 삭제가 중단됨
서버-66469 날짜 필드를 사용한 시계열 필터링은 1970년 이전 결과 미포함
SERVER -68122 초기 동기화 중 컬렉션 WiredTiger 구성 문자열 복제 조사
서버-70395 슬롯 기반 엔진은 $group에 디스크를 지나치게 적극적으로 사용하므로 속도가 감소함
SERVER-73232
_killOperations의 기본 로그 상세 수준 변경
6.0.4 - 2023년 1월 26일
수정된 문제:
SERVER-72416 find와 findAndModify 프로젝션 코드가 컬렉션 수준 데이터 정렬을 따르지 않음
SERVER-71759
dataSize명령이 반환되지 않습니다.SERVER-70237 청크 병합 커밋에서 BSON 객체를 너무 크게 만들지 않아야 함
SERVER-72222
mapReduce단일 reduce 최적화를 사용시 샤딩된 클러스터에서 결과 병합 실패WT-9268 일관성을 유지하기 위한 내역 저장소 기록 삭제 시 지연됨
6.0.3 - 2022년 11월 21일
수정된 문제:
SERVER-66289 v5.0.8에서 $out이 BSONObj 크기 오류를 잘못 발생시킴
SERVER-68139 프로젝션 정렬이 100MB보다 큰 경우 리샤딩 명령이 실패함
SERVER-68371 MongoClient에서 CSFLE를 활성화하면 Atlas Search가 실패함
SERVER-68115 "elemMatchRootLength > 0" 불변 trigger에 생기는 버그를 수정함
서버-68394 _id 인덱스가 누락된 경우 복구 시작 시 강력한 잠금이 생성되지 않도록 보장
6.0.2 - 2022년 9월 28일
수정된 문제:
SERVER-68925 시작 시 검사 테이블 로깅 설정을 다시 도입함(SERVER-43664를 되돌림)
SERVER-68628 프라이머리 페일오버 이후 실패한 리샤딩 작업을 다시 시도하면 서버 충돌이 발생하거나 쓰기 (write)가 손실될 수 있음
SERVER-63852 getThreadName() 충돌이 발생하지 않아야 함
서버-65317 mongod가 간단한 $search 쿼리 실행 후 연결 풀에서 연결 제거
SERVER-63843 동기 신호 핸들러에서 재귀적 doLog를 허용하지 않음
WT-9870 복구 중 가장 오래된 타임스탬프가 업데이트될 때마다 고정된 타임스탬프를 업데이트하는 문제를 수정함
6.0.1 - Aug 19, 2022
수정된 문제:
SERVER-68511
config.databases항목의 MovePrimary 업데이트는 반드시 점으로 구분된 필드 표기법을 사용해야 함서버-68062 $geoNear를 사용하는 다단계 애그리게이션이 제약 조건을 위반할 수 있음
서버-66072 $match 샘플링 및 $ 그룹 집계 이상한 동작
서버-68130 자동 분할 벡터가 BSONObjMaxUserSize보다 큰 응답을 생성할 수 있음
SERVER-68209
config.image_collection항목이 무효화되는 것을 방지하는 uassert를 제거합니다.
6.0.0 - 2022년 7월 19일
이 페이지의 나머지 부분에서는 MongoDB 6.0에 도입된 변경 사항과 새로운 기능에 대해 설명합니다.
집계
새로운 집계 단계
MongoDB 6.0에는 다음과 같은 집계 단계가 도입되었습니다.
단계 | 설명 |
|---|---|
지정된 필드의 값이 누락된 일련의 문서로 새 문서를 만듭니다. | |
입력 표현식에서 리터럴 문서를 반환합니다. | |
문서 내에서 | |
버전 6.0.3에 추가: 샤드 컬렉션에 관한 크기와 데이터 분포 정보를 제공합니다. |
새로운 집계 연산자
MongoDB 6.0에는 다음과 같은 집계 연산자가 도입되었습니다.
연산자 | 설명 |
|---|---|
지정된 정렬 순서에 따라 그룹 내 하위 요소를 반환합니다. | |
지정된 정렬 순서에 따라 그룹 내 하위 | |
그룹 내 첫 | |
배열의 시작에서부터 지정된 수의 요소를 반환합니다. | |
그룹 내 마지막 | |
배열의 끝에서부터 지정된 수의 요소를 반환합니다. | |
마지막 관찰이 이월되었습니다. 창의 | |
그룹 내 최댓값을 가진 | |
배열에서 가장 큰 값 | |
그룹 내 최솟값을 가진 | |
배열에서 가장 작은 값 | |
요소를 기준으로 배열을 정렬합니다. | |
지정된 정렬 순서에 따라 그룹 내 최상위 요소를 반환합니다. | |
지정된 정렬 순서에 따라 그룹 내 상위 | |
$lookup 및(샤드 $graphLookup 컬렉션 포함)
MongoDB 5.1부터 $lookup 및 $graphLookup 집계 단계는 from 매개 변수에서 샤딩된 컬렉션을 지원합니다.
이전 버전의 MongoDB에서는 $lookup 및 $graphLookup이 샤딩되지 않은 from 컬렉션에만 허용되었습니다.
샤딩된 컬렉션을 대상으로 하는 동안 트랜잭션 내에서 $graphLookup 단계를 사용할 수 없습니다.
변경 스트림
최적화된 Change Streams
MongoDB 5.1부터는Change Streams이 최적화되어 자원을 더 효율적으로 사용하고 일부 집계 파이프라인 단계를 더 빠르게 실행할 수 있습니다.
wallTime 변경 스트림 출력 필드
MongoDB 6.0부터 변경 스트림 출력에는 데이터베이스 작업의 서버 날짜 및 시간을 포함하는 새로운 wallTime 필드가 있습니다.
전후 이미지를 포함하는 문서의 Change Streams
MongoDB 6.0부터 변경 스트림을 사용하여 변경 전후의 문서 버전(문서 사전 및 사후 이미지) 을 출력할 수 있습니다. 문서의 사전 및 사후 이미지를 사용한 Change Streams에서 예시를 참조하세요.
변경 스트림 확장 이벤트
MongoDB 6.0부터는 변경 스트림이 인덱스 생성이나 컬렉션 삭제와 같은 DDL 작업 관련 추가적인 변경 이벤트를 표시할 수 있습니다.
자세한 내용은 확장된 이벤트를 참조하세요.
필터
MongoDB 6.0부터는 가능한 경우, 이전 릴리스보다 더 이른 변경 스트림에 매치 필터를 적용합니다. 이렇게 하면 성능이 향상됩니다. 그러나 필터가 좁게 정의된 경우, 이전 버전에서 성공한 작업이 6.0에서는 실패할 수 있습니다.
클러스터 관리
클러스터 서버 매개 변수
MongoDB 6.0부터 자체 관리형 배포를 위해 클러스터 매개 변수를 사용하여 복제본 세트 또는 샤딩된 클러스터의 모든 노드에 대한 구성 옵션을 수정하고 검색할 수 있습니다. setClusterParameter를 사용해 클러스터 전반의 옵션을 수정하고 getClusterParameter를 사용해 클러스터 매개 변수 값을 검색할 수 있습니다.
Connection Pool 매개 변수
MongoDB 6.0부터는 ShardingTaskExecutorPoolMinSizeForConfigServers와 ShardingTaskExecutorPoolMaxSizeForConfigServers를 사용해 config 서버의 샤딩 TaskExecutor 연결 풀의 최소 크기와 최대 크기를 설정할 수 있습니다.
changeStreamOptions 클러스터 매개 변수
MongoDB 6.0부터는 changeStreamOptions를 사용해 변경 스트림 전후 이미지의 보존 정책을 제어할 수 있습니다.
internalSessionsReapThreshold Parameter
MongoDB 6.0부터는 새롭게 도입된 internalSessionsReapThreshold 매개 변수를 사용해 내부 세션 메타데이터 삭제를 위한 세션 제한을 설정할 수 있습니다.
여러 중재자가 지원되지 않음
MongoDB 5.3부터는 복제본 세트의 다중 중재자 지원이 기본적으로 비활성화됩니다. 여러 중재자에 대한 지원을 활성화하려면 allowMultipleArbiters 매개변수로 각 노드를 시작합니다.
클러스터형 컬렉션
MongoDB 5.3부터는 클러스터형 컬렉션을 사용하여 컬렉션을 만들 수 있습니다. 클러스터형 인덱스를 사용하여 만든 컬렉션을 클러스터형 인덱스라고 합니다.
일반 컬렉션과 비교한 이점에 대한 자세한 내용은 클러스터형 컬렉션을 .
Indexes
MongoDB 5.1부터 collMod 데이터베이스 명령을 사용하여 기존 단일 필드 비TTL 인덱스에 expireAfterSeconds 옵션을 추가할 수 있습니다.
MongoDB 6.0부터는collMod 명령에 prepareUnique와 unique 옵션을 사용해 기존의 표준 인덱스를 고유 인덱스로 변환할 수 있습니다.
부분 인덱스
MongoDB 6.0부터는 연산자 $in과 $or를 사용해 부분 인덱스를 생성할 수 있습니다. partialFilterExpression 최대 깊이 또한 2에서 4로 확장되었습니다. 이제 최상위가 아닌 수준에서도 연산자 $and와 $or를 사용할 수 있습니다.
설치
SELinux 정책
MongoDB 5.1부터 다음 항목에 새로운 SE Linux 정책이 적용됩니다.
Red Hat Linux에서 실행됩니다. SELinux 정책은 rpm 설치 프로그램 패키지를 사용하는 기본 설치에 사용됩니다.
플랫폼 지원
MongoDB 6.0.3은 RHEL / CentOS / Oracle / Rocky / AlmaLinux 9를 지원합니다.
RHEL 에 MongoDB를 설치하려면 다음을 참조하세요.
복제본 세트
여러 중재자가 지원되지 않음
MongoDB 5.3부터는 복제본 세트의 다중 중재자 지원이 기본적으로 비활성화됩니다. 여러 중재자에 대한 지원을 활성화하려면 allowMultipleArbiters 매개변수로 각 노드를 시작합니다.
initialSyncMethod Parameter
MongoDB 5.2부터는 initialSyncMethod가 초기 동기화가 논리적 초기 동기화인지 아니면파일 복사본 기반 초기 동기화인지를 결정합니다.
initialSyncMethod MongoDB Enterprise 서버에서만 사용할 수 있습니다.
세컨더리 Oplog 배치 지연 지정
MongoDB 6.0부터는 oplogBatchDelayMillis 서버 매개 변수를 사용하여 세컨더리에서 oplog 배치의 쓰기 지연을 지정할 수 있습니다. 짧은 oplog 배치 지연을 추가하면 세컨더리의 IOPS 를 줄일 수 있지만, 쓰기 고려 (write concern) "majority" 가 있는 쓰기의 지연 시간은 늘어납니다.
자세한 내용은 oplogBatchDelayMillis를 참조하세요.
보안
감사 로그 암호화
MongoDB 6.0 Enterprise부터는 MongoDB 감사 로그를 암호화할 수 있습니다.
감사 로그를 구성하려면 감사 로그를 참조하세요.
MongoDB 서버 매개변수
mongod 다음 매개변수를 추가합니다:
transactionTooLargeForCacheThreshold(MongoDB 6.0.5부터 도입됨)
샤딩
$shardedDataDistribution을 사용하여 샤드 데이터 분포 분석
MongoDB 6.0.3부터는 단계를 사용하여 샤딩된 데이터가 클러스터 전체에 어떻게 분산된 있는지 분석 수 있습니다.$shardedDataDistribution
MongoDB 5.0을 실행 경우 클러스터 MongoDB 6.0 으로 업그레이드 하고 샤딩된 데이터 분포를 분석 수 있습니다. 자세한 내용은 샤드 데이터 분포 분석을 참조하세요.
분산 정책 변경
MongoDB 6.0.3부터 샤딩된 cluster의 데이터는 청크 수가 아닌 데이터 크기를 기준으로 분산됩니다. 결과적으로, 샤드 cluster 데이터 배포 동작에 다음과 같은 중요한 변경 사항이 있음을 알고 있어야 합니다.
밸런서는 청크가 아닌 데이터 범위를 분산합니다. 밸런싱 정책은 청크 분산보다는 데이터 분산의 균일성을 추구합니다.
청크는 자동 분할의 대상이 아닙니다. 대신 청크는 샤드 간에 이동할 때만 분할됩니다.
이제 청크를 범위라고 합니다.
moveRangemoveChunk를 대체했습니다.
기본 청크 크기가 64MB에서 128MB로 증가
MongoDB 5.2부터 기본 청크 크기는 128MB입니다. 이전 버전 MongoDB의 기본 청크 크기는 64MB입니다.
enableSharding 더 이상 필요하지 않음
MongoDB 6.0부터는 컬렉션을 샤드하는 데 더 이상 enableSharding 명령이 필요하지 않습니다.
조각 모음 상태 모니터링
MongoDB 5.3부터 balancerCollectionStatus 명령은 청크 조각 모음을 거치는 네임스페이스에서 실행될 때 자세한 정보를 반환합니다. 출력에는 현재 조각 모음 단계와 처리해야 할 청크 수가 포함됩니다.
예시 출력을 보려면 진행 중인 조각 모음 프로세스를 참조하세요.
슬롯 기반 쿼리 실행 엔진
MongoDB 5.1부터는 MongoDB가 슬롯 기반 쿼리 실행 엔진이라 불리는 새로운 쿼리 실행 엔진을 사용합니다. 슬롯 기반 쿼리 실행 엔진을 사용하는 경우 쿼리 설명 계획 출력에 새로운 필드가 포함됩니다.
가능하면 새로운 쿼리 실행 엔진이 사용됩니다.
새로운 쿼리 실행 엔진을 사용하는 경우 쿼리 설명 계획 출력에 새로운 필드가 포함됩니다.
슬롯 기반 쿼리 실행 엔진은 및 $group $lookup 단계를 실행할 수 있습니다.
버전 6.0부터는 특정 요건이 충족될 경우 MongoDB가 슬롯 기반 쿼리 실행 엔진을 사용해 적격한 $group 및 $lookup 단계를 실행합니다.
자세한 내용은 슬롯 기반 쿼리 실행 엔진 파이프라인 최적화를 참조하세요.
Stable API
다음 섹션에서는 MongoDB 6.0에 도입된 Stable API에 추가된 사항을 설명합니다.
Stable API에서 사용할 수 있는 데이터베이스 명령의 전체 목록을 보려면 Stable API 변경 로그를 참조하세요.
데이터베이스 명령
MongoDB 6.0부터는 Stable API에서 다음과 같은 데이터베이스 명령이 지원됩니다.
명령 | 설명 | Stable API 버전 |
|---|---|---|
컬렉션 또는 뷰에 있는 문서 수를 계산합니다. (MongoDB 5.0.9부터는 5.0 시리즈 배포를 위한 Stable API에서도 사용할 수 있습니다.) | V1 |
집계 단계 및 연산자
MongoDB 6.0부터 Stable API에서 지원되는 집계 단계 및 연산자는 다음과 같습니다.
무대 또는 운영자 | 설명 | Stable API 버전 |
|---|---|---|
지정된 정렬 순서에 따라 그룹 내 최하위 요소를 반환합니다. | V1 | |
지정된 정렬 순서에 따라 그룹 내 하위 | V1 | |
지정된 시간 단위만큼 Date 객체를 증가시킵니다. | V1 | |
두 날짜의 차이를 반환합니다. | V1 | |
Date 객체를 지정된 시간 단위만큼 감소시킵니다. | V1 | |
날짜를 자릅니다. | V1 | |
필드의 특정 값이 누락된 문서 시퀀스에서 새 문서를 만듭니다. | V1 | |
| 그룹 내 첫 | V1 |
| 배열의 시작에서부터 지정된 수의 요소를 반환합니다. | V1 |
문서에서 지정된 필드의 값을 반환합니다. | V1 | |
| 그룹 내 마지막 | V1 |
| 배열의 끝에서부터 지정된 수의 요소를 반환합니다. | V1 |
마지막 관찰이 이월되었습니다. 창의 | V1 | |
| 그룹 내 최댓값 | V1 |
| 배열에서 가장 큰 값 | V1 |
| 그룹 내 최솟값 | V1 |
| 배열에서 가장 작은 값 | V1 |
문서에서 지정된 필드를 추가, 업데이트 또는 제거합니다. | V1 | |
컬렉션에 있는 특정 범위의 문서(창이라고 함)에 대해 작업을 수행하고 선택한 창 연산자를 기반으로 결과를 반환합니다. | V1 | |
요소를 기준으로 배열을 정렬합니다. | V1 | |
지정된 정렬 순서에 따라 그룹 내 최상위 요소를 반환합니다. | V1 | |
지정된 정렬 순서에 따라 그룹 내 상위 | V1 | |
V1 | ||
V1 |
창 연산자
MongoDB 6.0부터 Stable API에서 다음과 같은 창 연산자가 지원됩니다.
창 연산자 | 설명 | Stable API 버전 |
|---|---|---|
각 문서에 표현식을 적용한 결과로 생성되는 모든 고유 값의 배열을 반환합니다. | V1 | |
지정된 표현식의 평균을 반환합니다. 숫자가 아닌 값은 무시합니다. | V1 | |
그룹 또는 창에 있는 문서 수를 반환합니다. | V1 | |
V1 | ||
V1 | ||
| V1 | |
지정된 창 내의 평균 변화율을 반환합니다. | V1 | |
| V1 | |
V1 | ||
V1 | ||
곡선 아래 면적의 근사값을 반환합니다. | V1 | |
V1 | ||
마지막 관찰이 이월되었습니다. 창의 | V1 | |
각 문서에 표현식을 적용한 결과로 생성되는 최대값을 반환합니다. | V1 | |
각 문서에 표현식을 적용한 결과로 생성되는 최소값을 반환합니다. | V1 | |
각 문서에 표현식을 적용한 결과로 생성되는 값의 배열을 반환합니다. | V1 | |
| V1 | |
4} 스테이지 | V1 | |
각 문서에 숫자 표현식을 적용한 결과로 얻은 모집단 표준 편차를 반환합니다. | V1 | |
각 문서에 숫자 표현식을 적용한 결과로 얻은 샘플 표준 편차를 반환합니다. | V1 | |
각 문서에 숫자 표현식을 적용한 결과로 얻은 합계를 반환합니다. | V1 |
Time Series 컬렉션
다음 섹션에서는 컬렉션의 개선 사항 및 새로운 기능을 설명합니다.
샤딩된 시계열 컬렉션
MongoDB 5.1은 샤드 시계열 컬렉션에 대한 지원을 제공합니다.
참조:
업데이트 및 삭제
MongoDB 5.1부터 시계열 컬렉션은 제한적으로 업데이트 및 삭제 작업을 지원합니다.
시계열의 열 압축
MongoDB 5.2부터 시계열 컬렉션은 열 압축을 사용합니다. 열 압축은 여러 가지 혁신 기능을 추가하여 실질적인 압축률을 크게 개선하고, 디스크의 전체 데이터 저장 공간을 줄이며, 읽기 성능을 향상시킵니다.
MongoDB 6.0부터 배열도 시계열 컬럼 압축의 일부로 압축됩니다.
지원 대상 $geoNear
MongoDB 5.3부터 시계열 컬렉션의 $geoNear 모든 필드에서 파이프라인 연산자를 사용할 수 있습니다.
추가적인 보조 인덱스 유형
시계열 컬렉션에 2dsphere 구체 및 2D 인덱스를 비롯한 보조 인덱스 타입을 추가할 수 있습니다.
모든 추가 인덱스 및 기타 개선 사항 은 MongoDB 6.0의 Time Series 보조 인덱스를 참조하세요.
정렬 작업에서 보조 인덱스 사용
시계열 컬렉션에서 정렬 작업 시에 인덱스를 사용해 성능을 향상할 수 있습니다. 자세한 내용 및 예는 보조 인덱스를 사용하여 정렬 성능 향상을 참조하세요.
일반 개선 사항
해시 샤드 키 인덱스 제거
MongoDB 6.0.12(및 5.0.22)부터 해시 샤드 키의 인덱스를 삭제할 수 있습니다.
이렇게 하면 해시 샤드 키로 샤딩된 컬렉션에 대한 데이터 삽입 속도를 높일 수 있습니다.
자세한 내용은 해시된 샤드 키 인덱스 제거를 참조하세요.
OpenSSL3 FIPS 지원
MongoDB 6.0.7, FIPS 모드는 다음 운영 체제에서 OpenSSL3을 지원합니다.
Ubuntu 22.04
RHEL 9
Amazon Linux 2023
고정 사이즈 컬렉션 개선
MongoDB 6.0부터는 collMod 명령을 사용해 고정 사이즈 컬렉션의 최대 크기를 바이트 단위 또는 문서 수 단위로 변경할 수 있습니다. 자세한 내용은 고정 사이즈 컬렉션 크기 조정을 참조하세요.
numOrphanDocs collStats 명령에 필드 추가
MongoDB 6.0부터는 collStats outpt에 컬렉션 내 고아 문서의 수를 보여주는 collStats.numOrphanDocs 필드가 포함됩니다.
출력에서 포함된 필드 제외 serverStatus
MongoDB 6.0(및 5.0.9)부터 serverStatus 출력에서 임베딩된 필드를 제외할 수 있습니다.
연결
MongoDB 6.0부터는 Mongo() 연결 객체에 다음과 같은 새로운 메서드가 추가되었습니다.
Mongo.getWriteConcern()은 쓰기 고려를 반환합니다.Mongo.setWriteConcern()은 쓰기 고려를 설정합니다.
진단 역추적 생성 지원 arm64
MongoDB 6.0(및 5.0.10)부터 arm64에서 진단 역추적 생성이 지원됩니다.
캐시된 LDAP 사용자 정보에 대한 새로 고침 간격 구성
MongoDB 5.2부터는 다음과 같은 새로운 서버 매개 변수를 사용해 캐시된 LDAP 사용자 정보의 새로 고침 간격을 구성할 수 있습니다.
MongoDB 5.2부터 LDAP 서버에서 검색된 캐시된 사용자 정보의 업데이트 간격은 ldapShouldRefreshUserCacheEntries에 따라 달라집니다.
true인 경우
ldapUserCacheRefreshInterval을 사용하세요.false인 경우
ldapUserCacheInvalidationInterval을 사용하세요.
호환성에 영향을 미치는 변경 사항
일부 변경 사항은 호환성에 영향을 줄 수 있으며 사용자가 조치를 취해야 할 수 있습니다. 호환성 변경 사항에 대한 자세한 목록은 MongoDB 6.0의 호환성 변경 사항을 참조하세요.
업그레이드 절차
중요
기능 호환성 버전
5.0 배포에서 MongoDB 6.0으로 업그레이드하려면 5.0 배포에 5.0로 설정된 featureCompatibilityVersion이 있어야 합니다. 버전을 확인하려면 다음을 입력하세요.
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
MongoDB 6.0으로 업그레이드하는 방법은 사용 중인 MongoDB 배포 관련 업그레이드 지침을 참조하세요.
6.0로 업그레이드하는 방법에 대한 지침이 필요한 경우에 대비하여 MongoDB 전문 서비스 팀은 MongoDB 애플리케이션에 지장을 주지 않고 원활하게 전환할 수 있도록 주요 버전 업그레이드 지원을 제공합니다. 자세한 내용은 MongoDB 컨설팅을 참조하세요.
다운그레이드 고려 사항
MongoDB는 단일 버전 다운그레이드만 지원합니다. 현재 릴리스보다 이전 버전인 릴리스로 다운그레이드할 수 없습니다.
예를 들어, 6.0 시리즈를 5.0 시리즈 배포로 다운그레이드할 수 있습니다. 하지만 5.0 시리즈 배포를 4.4 시리즈 배포로 한 단계 더 다운그레이드하는 것은 지원되지 않습니다.
다운로드
MongoDB 6.0을 다운로드하려면 MongoDB 다운로드 센터로 이동하세요.
알려진 문제
이 섹션에서는 MongoDB 6.0의 알려진 문제와 해결 상태를 설명합니다.
버전 | 이슈 | 상태 |
|---|---|---|
6.0.0 | SERVER-68062: $GeoNear를 사용하는 다단계 집계는 제약 조건을 위반할 수 있습니다. | 6.0.1에서 해결됨. |
이슈 신고하기
문제를 보고하려면 MongoDB GitHub 리포지토리에서 MongoDB 서버 또는 관련 프로젝트 중 하나에 대해 JIRA 티켓을 제출하는 방법을 참조하세요.