MongoDB 7.0 은 메이저 릴리스이므로 MongoDB Atlas 와 온프레미스 배포 모두에서 지원됩니다. MongoDB 7.0 에는 MongoDB Rapid Release 6.1, 6.2 및 6.3 에 도입된 변경 사항이 포함되어 있습니다. 이 페이지에서는 해당 Rapid Release 및 MongoDB 7 에 도입된 변경 사항에 대해 설명합니다.0.
Major Release와 Rapid Release의 차이점은 MongoDB 버전 설명을 참조하세요.
경고
과거 릴리스 제한 사항
아래의 중요 권고 사항은 일부 이전 MongoDB 버전에 영향을 미칩니다. 중요 권고 사항의 영향을 받는 기능을 기반으로 배포하는 경우 사용 가능한 최신 패치 릴리스로 업그레이드하세요.
이슈 | 영향을 받는 버전 |
|---|---|
7.0.0 - 7.0.15 | |
7.0.0 - 7.0.2 | |
7.0.0 - 7.0.2 | |
7.0.0 - 7.0.5 | |
7.0.0 - 7.0.5 | |
7.0.0 - 7.0.6 | |
7.0.0 - 7.0.7 | |
7.0.0 - 7.0.12 | |
7.0.0 - 7.0.15 |
패치 릴리스
7.0.43 - Sept 11, 2026
이 릴리즈에는 중요한 보안 및 신뢰성 개선 사항이 포함되어 있습니다.
중요
수정된 문제:
SERVER-134063 Shred collection validator constants during parsing
7.0.41 - Sept 8, 2026
이 릴리즈에는 중요한 보안 및 신뢰성 개선 사항이 포함되어 있습니다.
중요
MongoDB 7.0.41 다음에 대한 수정 파일이 포함되어 있습니다.
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
수정된 문제:
SERVER-104464 Handle missing index idents during replica set startup recovery after unclean shutdown
SERVER-111573 Add configuration to collstats to return full wiredtiger data source metrics
SERVER-111885 Index Build Merging Spills conflicts with replSetGetStatus
SERVER-127346 Make session refresh have kExempt admission priority
SERVER-130571 Limit use of $_internalIndexKey to internal clients only
SERVER-130926 Usage of strtoll in generateJSONSchemaArraySingleSchemaError can throw std::exception
SERVER-130901 Limit JSON Pointer path depth to 255 for $jsonSchema.encryptMetadata.keyId
SERVER-130785 Fix LDAP roles for pooled LDAP connections
SERVER-128253 Integer overflow in query planner explodeForSort() can trigger mongod denial of service
SERVER-132650 Make
mongosuse the configurable minimum timeout for pre-auth streamable helloSERVER-132275 [v8.0] Reject $lookup with multiple pipeline arguments
SERVER-131860 Improve wiredtiger config string handling
SERVER-131423 Apply consistent redaction in reportState()
SERVER-131326 Repeat stmtIds on writes crash the server
SERVER-131229 enforce case-sensitivity in options validation
SERVER-131562 Heap memory disclosure via mis-indexed tie-break vectors in the query multi-planner
SERVER-131420 Reject WiredTiger configString type overrides other than "type=file"
SERVER-130759 Adjust invariant condition to account for arbiter nodes
SERVER-131870 Fix heap use-after-free
SERVER-131202 Fix aggregation pipeline updateLookup with dollar-prefixed fields
SERVER-127985 Reject regex matches that do not lay on UTF-8 character boundaries
7.0.40 - 8월 11, 2026
이 릴리즈에는 중요한 보안 및 신뢰성 개선 사항이 포함되어 있습니다.
중요
수정된 문제:
SERVER-117854 GranularityRounderPowersOfTwo should assert for inf numbers
SERVER-129460 Ensure valid
jsonSchemain time series updatesSERVER-129617 Better validation for
NaNin$percentileand$medianSERVER-129618 Disallow user-provided
$vectorSearcharguments from overriding internally generated optionsSERVER-129994 Fix a malformed
FlatBSONstore caused by inserting duplicate field namesSERVER-130110 Gate the internal-only
_internalSetObjToThisfield of$functionbehind an internal-client checkSERVER-130111 Prevent invalid type conversion during match expression serialization
SERVER-130117 Fix a heap use-after-free in collection validation for big polygons
SERVER-130139 Account for the
o-versus-UUID consistency checkSERVER-130167 Stop the JavaScript scope from constructing delete requests by concatenating unsanitized
_idfieldsSERVER-130188 Exclude partial indexes from
2dspheregeometry skip-validationSERVER-130198 Increase the authorization requirement for
slowmsandsampleRatein theprofilecommandSERVER-130264 Apply the intra-cluster SASL mechanism allowlist in egress connection setup
SERVER-130266 Prohibit
$textand$nearin$_internalSchemaCondSERVER-130481 Allow the symbol type in
CommandHelpers::parseNsFromCommandSERVER-130544 Enforce the internal user for
commitTransactionandabortTransactionon prepared transactionsSERVER-130633 Authorize
compactStructuredEncryptionDataandcleanupStructuredEncryptionDataat database scope
7.0.39 - 7월 22, 2026
이 릴리즈에는 중요한 보안 및 신뢰성 개선 사항이 포함되어 있습니다.
중요
수정된 문제:
SERVER-123081 Handle compound wildcard index spec in
$_internalIndexKeySERVER-127280 Reject expression-based
sortByin the$linearFillparserSERVER-127357 Check for duplicate
fromfields inDocumentSourceGraphLookup::createFromBson()SERVER-127566 Limit the contention factor that can be used for FLE2 fields
SERVER-127689 Only allow internal clients to specify
$_internalPredicateSERVER-127694 Add type checking for
DBPointerSERVER-127831 Forbid external users from running FLE2 commands with
crudProcessedset to trueSERVER-128198 Fix
mongoskillCursorsto check authorization against the cursor's namespace instead of the request namespaceSERVER-128341 Fix a server crash caused by sorting on a
$metaexpressionSERVER-129103 Restrict target BinData subtypes in $convert and $constant/$literal
SERVER-128362 Add a null check on the return value in
ocspClientCallbackSERVER-128433 Prevent external clients from setting
runtimeConstants.userRolesSERVER-128473 Fix a use-after-free in
$functioncaused by a missingadvanceGeneration()call on retained BSON argumentsSERVER-128494 Validate external BSON in
MultiBsonStreamCursorSERVER-128517 Add a configurable minimum timeout for pre-auth streamable
helloto prevent a hot loop from very smallmaxAwaitTimeMSvaluesSERVER-128832 Guard
ImplScopeModuleLoadercreationSERVER-94001 Continue with logical session cache refresh process even if refresh fails
SERVER-106165 Majority secondaries lagging for 30s post a failover breaching read/write SLA
SERVER-116284 Ensure MultiStatementTransactionRequestsSender sends commitTransaction to all shards before processing results
WT-12657 Add checkpoint cleanup utility thread
7.0.37 - 6월 11, 2026
중요
MongoDB 7.0.37 contains a fix for CVE-2026-11933
MongoDB 보안 업데이트에 대한 최신 정보는 MongoDB 보안 게시판.
수정된 문제:
SERVER-128125 Align bsonObjToArray ownership semantics with bsonGetImmutable
7.0.36 - 6월 10, 2026
수정된 문제:
SERVER-127984 Speed up isMetadataFieldName with compile-time field matching
7.0.35 - 6월 9, 2026
중요
수정된 문제:
SERVER-86326 Increase max regex pattern length to 32k
SERVER-111007 Validation should distinguish between root causes when finding mixed schema data
SERVER-121132 Temporary compressed bucket inconsistency during logical initial sync causing crash
SERVER-112792 Report existence of compound wildcard indexes prefixed by the shard key
SERVER-126049 MozJS per-scope heap limit check uses process-global GC counter
SERVER-125063 Prohibit nesting of BSONColumn inside BSONColumn
SERVER-123507 Encrypted predicates inside a
$vectorSearchprefilter should get replaced with encryption placeholdersSERVER-124190 Forbid aggregate
exchangefield from non-internal clientsSERVER-123918 Validate
runtimeConstants.userRolesin IDLSERVER-123951
$_internalConvertBucketIndexStats인덱스 변환이 실패한 경우 PauseExecution을 반환하지 않아야 합니다.SERVER-124031 Ensure
Exchange::getTargetConsumercorrectly handles MaxKeySERVER-123633 Fix handling of user $-prefixed fields colliding with internal metadata
SERVER-123370 LDAP query password is logged when set through setParameter
SERVER-123440 GeometryCollection with strict-winding polygon causes 2dsphere index key generation crash
SERVER-124959 Validate doc diff array bounds and
$_internalApplyOplogUpdateBSON
7.0.34 - 2026년 5월 12일
중요
수정된 문제:
SERVER-120668 Disallow
$trimwith too large mask stringSERVER-121895 Improve redaction of validation errors
SERVER-122032 Calling
replaceEncryptedFieldsInFilterwith positional projection results in use-after-freeSERVER-122449 Improve
$bitSetmatch expressionsSERVER-126021 Undefined behavior when inserting data with duplicate field names into timeseries collections
7.0.32 - 4월 29, 2026
중요
수정된 문제:
SERVER-119679: Missing Authorization Check in updateUser
SERVER-119981: Fix binDataClean() for deprecated type
SERVER-105047: Query using $or and $ne on sharded collection can include orphan documents
SERVER-110345: config.rangeDeletions docs for uncompleted range deletion tasks could get deleted due to non-exact delete filter
SERVER-110423: $group can use a distinct scan on a sparse index, which hides null/missing results
SERVER-110916: Use-after-move in targetShardsAndAddMergeCursors()
SERVER-111486: $group can still use a distinct scan on a sparse index if an alternative index is available
7.0.31 - 2026년 3월 17일
중요
SERVER-55068: Sets the
net.maxIncomingConnectionsmaximum on Linux systems to(RLIMIT_NOFILE / 2) * 0.8SERVER-82688:
mongodcrash, bug fix when connections exceed wiredtiger'ssession_maxSERVER-95374: Compound wildcard indexes can incorrectly push down predicates during union or planning
SERVER-103774: Disallow compound wildcard indexes from being used as a shard key index
SERVER-110953: Check no orphaned document is present on a recipient shard before starting cloning a range
SERVER-113319:
$matchpushdown past a renamed field is done incorrectly when the expression root is a renamed field path expressionSERVER-115962: Balancer does not make progress when the most loaded shard is already balanced within its zones
SERVER-118428:
mongocryptdrejects large messagesSERVER-119317: Improve object lifecycle of MD5 hash state
SERVER-119319: Fix ExpressionContext use-after-free bug
WT-14140: Unnecessary schema lock taken for active
"file:"dhandles that are not swept
7.0.30 - 2월 10, 2026
SERVER-118713 - Can not create timeseries 2dsphere index with a non-system user
7.0.29 - 1월 27, 2026
중요
수정된 문제:
SERVER-94315 - Shard filtering bug with collation
SERVER-99119 - Change geo-related invariants to tasserts
SERVER-102364 - Periodically check $reduce accumulated depth less than maxAllowableBSONDepth
SERVER-112952 - tighten profile command auth check
SERVER-113532 - [8.0] Introduce a new CursorResponseBsonSize limit of 16MB+32KB
SERVER-113685 - Segfault for query on compound wildcard index
SERVER-114695 - Update default value for pending connections
SERVER-114838 - Lock Manager is susceptible to an adversarial DDOS attack
SERVER-115296 - Redact ResourceId raw values from error messages
SERVER-116206 - Better exception handling for message compressors
SERVER-116210 - Adjust the maximum buffer size for ingress requests
SERVER-116211 - Cap memory allocated by network buffers
7.0.28 - 2025년 12월 19일
중요
MongoDB 7.0.28 contains a fix for CVE-2025-14847.
MongoDB 보안 업데이트에 대한 최신 정보는 MongoDB 보안 게시판.
수정된 문제:
SERVER-115508: Make minimally sized buffers for uncompressed Messages
7.0.26 - 2025년 11월 21일
중요
MongoDB 7.0.26 includes fixes for CVE-2025-12893, CVE-2025-13507, CVE-2025-13643, CVE-2025-13644, and CVE-2025-14345.
MongoDB 보안 업데이트에 대한 최신 정보는 MongoDB 보안 게시판.
수정된 문제:
SERVER-77172: "abortExpiredTransactions" thread can get stuck if it fails to checkout a session
SERVER-89039: Support a command that returns after an index build has started
SERVER-92236: Chunk migrations should use short lived cancellation sources
SERVER-102670: Incorrect ordered time-series insert error handling
SERVER-107361: Rollover determination in the bucket catalog can fail to check mixed schema for large measurements
SERVER-108565: Improve handling of oversized writes to time series collections.
SERVER-112467: Track and report the number of pending proxy connections
WT-9575: Pages with updates newer to the oldest txn id are not queued for eviction
SERVER-106589: Provision more memory for index builds during initial sync
SERVER-102428: Logical initial sync allocates double
maxIndexBuildMemoryUsageMegabytesSERVER-86591: Enhance InitialSync Error Handling for Transient Network Issues
7.0.25 - 2025년 10월 2일
중요
MongoDB 서버 쿼리 플래너의 Use-after-free로 인해 충돌 또는 정의되지 않은 동작이 발생할 수 있습니다.
설명: 권한이 부여된 사용자가 버퍼 과다 읽기를 유발하여 MongoDB 서버 충돌시킬 수 있습니다. 이 문제는 쿼리가 실행 동안 DDL 작업을 실행 때 발생할 수 있습니다.
CVSS 점수: 5.3
CWE: 416 무료 사용 후 사용
영향을 받는 제품 버전: MongoDB Server 8.2.0, 8.0.14 에서 8.0로, 7.0.24 에서 7.0로, 그리고 수명이 종료된 이전 메이저 버전.
수정된 문제:
SERVER-105873: QueryPlannerParams should not maintain pointers owned by IndexCatalogEntry
7.0.24 - 2025년 9월 10일
수정된 문제:
SERVER-103505: Handle metadata errors in WiredTigerUtil::setTableLogging
SERVER-103741: Add profile collection metrics
SERVER-104771: [v7.0] Initial sync fails when the source has TTL indexes on a capped collection
WT-14391: Check eviction server is running before opening HS
WT-14653: Add logs/stats to reconciliation for tracking HS updates
7.0.23 - 8월 13, 2025
수정된 문제:
SERVER-81797: Make our own portable implementation of atomic
notify()andwait()with timeout supportSERVER-86656: Create a reader-optimized reader-writer mutex
SERVER-95324: Disable chunkMigrationConcurrency
SERVER-101581: Check socket state before accepting connection in ASIO
SERVER-103934: FCBIS should be able to call KVEngine::cleanShutdown without leaking memory
7.0.22 - 2025년 7월 18일
중요
CVE-2025-10061로 인해 7.0.6 이전의 MongoDB 7.0 에서는 권한이 부여된 사용자가 특수하게 조작된 $ 그룹 쿼리 통해 MongoDB Server 에서 충돌을 일으킬 수 있습니다. 이 취약점은 $ 그룹 작업 내에 추가 매개변수가 지정된 경우 특정 축적자 자 함수가 잘못 처리되는 것과 관련이 있습니다. 이 취약점은 반복적으로 트리거하다가 발생할 경우 서비스 거부로 이어질 수 있습니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.1.0 - 8.1.1
8.0.0 - 8.0.11
7.0.0 - 7.0.21
6.0.0 - 6.0.24
CVSS 점수: 6.5
CWE: CWE-20 잘못된 입력 유효성 검사
중요
잘못된 KMIP 응답으로 인해 읽기 액세스 위반이 발생할 수 있습니다.
CVE-2025-12657로 인해 7.0.6 이전의 MongoDB 7.0 에서는 mongo 바이너리에 내장된 KMIP 응답 구문 분석기가 특정 잘못된 패킷에 대해 지나치게 관대하며, 이를 유효하지 않은 객체로 구문 분석할 수 있습니다. 나중에 이 객체 를 읽으면 읽기 액세스 위반이 발생할 수 있습니다.
이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.
8.0.0 - 8.0.9
7.0.0 - 7.0.21
CVSS 점수: 5.9
CWE: CWE-754: 비정상적이거나 예외적인 상태에 대한 부적절한 검사
수정된 문제:
SERVER-101230: Coverity analysis defect 155126: Using invalid iterator
SERVER-95523: upsert does not handle DuplicateKey retry correctly
SERVER-95524: Avoid retrying on duplicate key error for upserts in multidocument transactions
SERVER-96197: ExpressionContext's _resolvedNamespaces can't distinguish between collections with the same name in different dbs
SERVER-98386: Shard does not correctly check the ShardVersion received for timeseries collections
SERVER-99616 $group can hit MONGO_verify
7.0.21 - Jun 04, 2025
수정된 문제:
SERVER-92806: Plan cache entry ignores index collation with $elemMatch
SERVER-95672: Indexes on array fields that contain subarrays does not include some results
SERVER-97044: Fix an issue where change streams might incorrectly output a "drop" event during resharding or unsharding of a collection that is or was using zone sharding
WT-12012: Restore original verbose levels if gen_drain becomes unstuck after increasing verbose levels
WT-13216: Assess the use of cache eviction check in compact
7.0.20 - 4월 29, 2025
중요
불완전한 데이터를 잘못 처리하여 mongos 새 연결을 수락하지 못할 수 있는 문제를 수정했습니다.
CVE-2025-6714로 인해 7.0.6 이전의 MongoDB 7.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 제어되지 않는 리소스 소비
수정된 문제:
SERVER-93120: FTDC collection blocked on locked backupCursor state read
SERVER-106753: Incorrect handling of incomplete data may prevent
mongosfrom accepting new connections
7.0.19 - 4월 14, 2025
중요
MongoDB Server $mergeCursors 단계로 인해 권한 에스컬레이션에 취약할 수 있습니다.
7.0.6 이전의 MongoDB 7.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: 부적절한 권한 부여
수정된 문제:
- SERVER-106752 MongoDB Server may be susceptible to privilege escalation due to
$mergeCursorsstage
7.0.18 - 2025년 3월 19일
수정된 문제:
SERVER-82037 Memory used by sorter spills can grow without bound
SERVER-90689 Change THP startup warning checks to also look at process level settings before emitting warning
SERVER-95452 Prevent CollectionRoutingInfoTargeter from iterating all chunk ranges during update and delete
SERVER-98720 Add missing redact() calls to "Plan executor error" warning logs
SERVER-100901 Relax user digest invariant to tassert in ShardingTaskExecutor
7.0.17 - 2월 21, 2025
중요
MongoDB 서버 OIDC 인증의 사전 인증 서비스 거부 취약점
CVE-2025-6709로 인해 7.0.6 이전의 MongoDB 7.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로 인해 7.0.6 이전의 MongoDB 7.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: 제어되지 않는 재귀
수정된 문제:
SERVER-73641 Timeseries filtering can miss extended-range events when sharded
SERVER-76883 Reduce chattiness of "Role does not exist" logs for externally sourced users
SERVER-85627 Log information of interrupted thead in stepdown killOp
SERVER-89614 $out doesn't clean up correctly between rename and dropping temp collection
SERVER-106748 Pre-auth denial of service when accepting OIDC authentication
SERVER-106749 Pre-authentication Denial of Service Stack Overflow Vulnerability in JSON Parsing via Excessive Recursion in MongoDB
7.0.16 - 2024년 12월 20일
수정된 문제:
SERVER-67816 Time-series bucket rounding for pre-1970 dates behaves unexpectedly
SERVER-90672 Investigate potential bug in time-series insert path that allows for multiple buckets to have the same OIDs, across stripes
SERVER-90893 listDatabases inconsistent with concurrent DDL operations
SERVER-94559 Time-series measurement deletes update the minTime of a bucket
SERVER-95067 Time-series inserts can generate multiple batches referencing the same bucket
7.0.15 - 2024년 10월 24일
중요
null 바이트의 부적절한 중화로 인해 MongoDB Server 에서 버퍼 오버 읽기가 발생할 수 있습니다.
7.0.6 이전의 MongoDB 7.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
SERVER-96419 Improper neutralization of null bytes may lead to buffer over-reads in MongoDB Server
7.0.14 - 8월 26, 2024
수정된 문제:
SERVER-82814 Support internal expr comparison operators when determining clustered collection scan bounds
SERVER-85892 $merge with pipeline after $documents returns error
SERVER-91195 Provide a generic backportable solution not to miss top-level timeseries collection options
SERVER-91625 Enable indexed plans for expressions with $$NOW, $$CLUSTER_TIME and $$USER_ROLES
WT-12643 Fix Eviction Server walk logic so that it's able to evict all pages
7.0.12 - Jun 28, 2024
중요
CSFLE 및 Queryable Encryption 자체 조회가 하위 파이프라인의 값을 암호 텍스트 대신 일반 텍스트로 전송할 수 있는 문제 수정
CVE-2024-8013로 인해, 7.0.6 이전의 MongoDB 7.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 and Queryable Encryption self-lookup may fail to encrypt values in subpipelines
SERVER-64574 Upgrade MozJS/Spidermonkey to the latest ESR
SERVER-86674 Primary catch-up may believe it is caught up when it is not
SERVER-90485 $sort does not work as expected when used in conjunction with includeArrayIndex
SERVER-91362 Performance: Do not copy JS "scope" object if a cached JsExecution exists
WT-12736 Mark the page clean after re-instantiating the page with prepared updates
7.0.11 - 2024년 5월 23일
수정된 문제:
SERVER-85279 Don't run the FTDC collection stats collector on arbiters
SERVER-89495 Disable test parameters even when no setParameters are specified
SERVER-89625 Handle directoryPerDb and wiredTigerDirectoryForIndexes correctly when reporting namespaces and UUIDs during a backup
SERVER-90288 Bitwise query operators should interpret lowest addressable byte in BinData as least significant byte
WT-12609 Improve checkpoint cleanup and page eviction logic
7.0.9 - 4월 26, 2024
수정된 문제:
SERVER-79637 Incorrect query results in $lookup with TS foreign collection using a correlated predicate
SERVER-82349 Mongo 7 crashes on applyOps index delete/drops without a collection UUID
SERVER-86407 Validation does not produce complete results when it should
SERVER-88173 BinData bit comparisons give wrong results in many cases
WT-10807 Skip in-memory deleted pages as part of the tree walk
7.0.8 - 4월 3, 2024
수정된 문제:
SERVER-78556 Return default of internalInsertMaxBatchSize to 64
SERVER-79575 Fix numa node counting
SERVER-86583 Non-transactional snapshot read on unsharded collection may execute with mismatched sharding metadata
SERVER-87666 Query shape for $documents is unique on each execution
SERVER-88360 Remove "Sharding catalog and local catalog collection uuid do not match" tripwire assertion
7.0.7 - 2024년 3월 18일
수정된 문제:
SERVER-84368 CreateIndex fails with StaleConfig if run from a stale mongos against a sharded non-empty collection
SERVER-84628 Startup warning in mongos for Read/Write Concern
SERVER-85459 [v7.0] bucketRoundingSeconds param is accepted by nodes on FCV 6.0, binary 7.0
SERVER-85869 Exhaustive find on config shard can return stale data
SERVER-87061 Sharded multi-document transactions can observe partial effects of concurrent reshard operation
7.0.6 - Feb 28, 2024
중요
MongoDB Server가 신뢰할 수 없는 연결에 성공할 수 있는 문제를 수정했습니다.
CVE-2024-1351 로 인해 7.0.6 이전의 MongoDB 7.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-72703 Downgrade $out's db lock to MODE_IX
SERVER-82353 Multi-document transactions can miss documents when movePrimary runs concurrently
SERVER-84338 Top level $or queries may lead to invalid SBE plan cache entry which returns wrong results
SERVER-84723 Sharded multi-document transactions can observe partial effects of concurrent DDL operations
WT-11062 Safe free the ref addr to allow concurrent access
7.0.5 - Jan 5, 2024
수정된 문제:
SERVER-33494 WT SizeStorer never deletes old entries
SERVER-80363 server default writeConcern is not honored when wtimeout is set
SERVER-83091 $or query can trigger an infinite loop during plan enumeration
SERVER-83830 On Enterprise build creating a collection in a replica set with the storageEngine.inMemory option breaks secondaries
WT-7929 Investigate a solution to avoid FTDC stalls during checkpoint
7.0.4 - 2023년 11월 27일
수정된 문제:
SERVER-67962 Applying config.image_collection deletes needs better concurrency control
SERVER-69244 $merge fails when session default read concern has been set to "majority"
SERVER-79975 [Classic] Optimize large group keys
SERVER-81133 Speedup logic to persist routing table cache
SERVER-82446 $densify use case can result in documents outside of range
7.0.3 - 2023년 11월 9일
수정된 문제:
SERVER-77506 Sharded multi-document transactions can mismatch data and ShardVersion
SERVER-79088 Improve SBE multi-planner performance for query which returns zero results
SERVER-81106 Recipient shard doesn't wait for the collection version to be locally persisted before starting the cloning phase
SERVER-81966 Avoid modification of previous ChunkMap instances during refresh
WT-11564 Fix RTS to read the newest transaction value only when it exists in the checkpoint
7.0.2 - Sep 29, 2023
수정된 문제:
SERVER-74954 Incorrect result when contained $or rewrites $elemMatch extra condition
SERVER-79771 Make Resharding Operation Resilient to NetworkInterfaceExceededTimeLimit
SERVER-79912 CheckReplDBHash reports failure with system.buckets collections due to invalid BSON
SERVER-79982 Batched catalog writers can run concurrently with HistoricalCatalogIdTracker::cleanup() and lead to incorrect PIT find results
SERVER-80488 Avoid traversing routing table in balancer split chunk policy
7.0.1 - 2023년 9월 5일
수정된 문제:
SERVER-71627 Refreshing cached collection route info severely blocks all client requests for a cluster with 1 million chunks
SERVER-77183 $project followed by $group sometimes gives incorrect results
SERVER-80256 QueryPlannerAnalysis::explodeForSort should not assume that index scans produce disjoint results
7.0.0 - Aug 15, 2023
알려진 문제
이 섹션에서는 MongoDB 7.0 의 알려진 문제와 해결 상태에 대해 설명합니다.
버전 | 이슈 | 상태 |
|---|---|---|
7.0.29, 7.0.30 | SERVER-118428: Changes to To avoid this bug, skip these versions when you upgrade | 미해결. |
Atlas 검색 인덱스 관리
MongoDB 부터 메서드와 데이터베이스 명령을 사용하여 Atlas Search 인덱스를 관리 7.0 할 수 있습니다. Atlas Search 인덱스 명령은 mongosh MongoDB Atlas 에서 호스팅되는 배포에만 사용할 수 있으며, Atlas cluster 계층 M 이상이어야 합니다.10
Atlas Search 인덱스를 관리하려면 다음 명령을 사용하세요:
Mongo쉬 방법
이름 | 설명 |
|---|---|
지정된 컬렉션에 Atlas Search 인덱스를 만듭니다. | |
기존 Atlas Search 인덱스를 삭제합니다. | |
지정된 컬렉션의 기존 Atlas Search 인덱스에 대한 정보를 반환합니다. | |
기존의 Atlas Search 인덱스를 업데이트합니다. |
데이터베이스 명령
이름 | 설명 |
|---|---|
지정된 컬렉션에 하나 이상의 Atlas Search 인덱스를 만듭니다. | |
기존 Atlas Search 인덱스를 삭제합니다. | |
기존의 Atlas Search 인덱스를 업데이트합니다. |
집계 단계
이름 | 설명 |
|---|---|
모든 컬렉션 또는 특정 컬렉션에 대한 샘플링된 쿼리 나열 | |
지정된 컬렉션의 기존 Atlas Search 인덱스에 대한 정보를 반환합니다. |
일반 변경 사항
serverStatus 출력
MongoDB 7.0.38부터, none: 1을 지정하여 serverStatus 출력에서 모든 선택 사항 필드를 제외할 수 있습니다. 모든 선택 사항 필드를 제외한 후에는 포함할 필드를 지정할 수 있습니다.
자세한 내용은 모든 선택 사항 필드 제외를 참조하세요.
Oplog 서버 상태 지표
MongoDB 7.0.42은 다음 serverStatus 지표 추가합니다.
캐시 새로 고침 시간 필드
MongoDB 7.0부터는 저속 쿼리에 대한 로그 메시지에 새로운 캐시 새로 고침 시간 필드가 포함됩니다.
동시 스토리지 엔진 트랜잭션(읽기 및 쓰기 티켓)
버전 7.0부터 MongoDB는 현재 스토리지 엔진 트랜젝션(읽기 티켓과 쓰기 티켓 모두 포함)의 최대 수를 실시간으로 조정하는 데 기본 알고리즘을 사용해 오버로드 시 데이터베이스 처리량을 최적화합니다.
다음 표에는 MongoDB 7.0과 이전 릴리스의 오버로드 시나리오를 식별하는 방법이 요약되어 있습니다.
버전 | 과부하 시나리오 진단 |
|---|---|
7.0 | 많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다. 장기간 0 의 동시 스토리지 엔진 트랜잭션 (티켓) 가용성은 과부하를 나타내지 않습니다. |
6.0 및 이전 버전 | 많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다. 오랜 시간 동안 현재의 스토리지 엔진 트랜잭션(티켓)의 가용성이 0인 경우에도 과부하가 걸렸을 가능성이 높습니다. |
자세한 내용은 다음을 참조하세요.
currentOp 지표
MongoDB 7.0부터 currentOp 명령과 db.currentOp() 메서드에 이러한 새로운 필드가 포함됩니다.
$currentOp (집계) 메트릭
MongoDB 7.0부터 currentOp 집계 단계에 이러한 새로운 필드가 포함됩니다.
복합 와일드카드 인덱스
MongoDB 7.0부터 복합 와일드카드 인덱스를 만들 수 있습니다. 복합 와일드카드 색인에는 하나의 와일드카드 용어와 하나 이상의 추가 색인 용어가 있습니다.
알려진 패턴에 대한 쿼리를 지원하고 컬렉션 내 총 인덱스 수를 제한하려면 복합 와일드카드 인덱스를 사용하세요.
디스크 공간
MongoDB 7.0부터 디스크 공간이 실행 하면 디스크로 유출되는 MongoDB 가 실패합니다.
대규모 변경 스트림 이벤트
MongoDB 7.0부터 16MB보다 큰 변경 스트림 이벤트가 있는 경우, 새로운 $changeStreamSplitLargeEvent 단계를 사용하여 이벤트를 더 작은 조각으로 분할할 수 있습니다.
다음의 새 지표는 대규모 변경 스트림 이벤트에 관한 정보를 보고합니다.
serverStatus 출력 변경
serverStatus 출력에 다음과 같은 새로운 필드가 포함됩니다.
- 계획 캐시 메트릭
- queryAnalyzer 메트릭
슬롯 기반 쿼리 실행 엔진
MongoDB 7.0부터 슬롯 기반 쿼리 실행 엔진은 광범위한 찾기 및 집계 쿼리의 성능을 개선합니다.
이제 느린 쿼리 로그 메시지에는 쿼리를 완료한 쿼리 엔진을 나타내는 queryFramework 필드가 포함됩니다.
queryFramework: "classic"은 클래식 엔진이 쿼리를 완료했음을 나타냅니다.queryFramework: "sbe"는 슬롯 기반 쿼리 실행 엔진이 쿼리를 완료했음을 나타냅니다.
사용자 역할 시스템 변수
MongoDB 7.0부터는 새로운 USER_ROLES 시스템 변수를 사용하여 현재 사용자의 역할을 반환할 수 있습니다.
USER_ROLES 이 포함된 사용 사례에 대해서는, 찾기, 집계, 보기, updateOne, updateMany 및 findAndModify 예시를 참조하세요.
청크 마이그레이션을 위한 새로운 샤딩 통계
MongoDB 7.0(및 6.3.2, 6.0.6, 5.0.18)부터 사용할 수 있습니다.
MongoDB에 다음과 같은 청크 마이그레이션에 관한 새로운 샤딩 통계가 포함되었습니다.
새로운 느린 쿼리 로그 메시지
느린 쿼리 로그 메시지의 totalOplogSlotDurationMicros 는 쓰기 작업이 커밋 타임스탬프를 가져와 스토리지 엔진 쓰기를 커밋한 시점부터 실제로 커밋될 때까지의 시간을 나타냅니다. mongod는 병렬 쓰기를 지원합니다. 하지만 커밋 타임스탬프가 있는 쓰기 작업은 순서에 상관없이 커밋합니다.
자세한 내용은 저속 작업 로깅을 참조하세요.
새로운 매개변수
analyzeShardKey 관련 매개변수
MongoDB 7.0에는 analyzeShardKey 명령과 관련된 매개 변수가 추가되었습니다.
autoMergerIntervalSecs Parameter
MongoDB 7.0은 AutoMerger가 활성화되면 자동 병합 라운드 사이의 시간을 초 단위로 지정하는 autoMergerIntervalSecs 매개 변수를 추가합니다. autoMergerIntervalSecs 는 샤딩된 클러스터의 config 서버에서만 설정할 수 있습니다.
autoMergerThrottlingMS Parameter
MongoDB 7.0은 자동 병합이 활성화된 경우 동일한 컬렉션에서 자동 병합에 의해 시작된 병합 사이의 최소 시간(밀리초)을 지정하는 autoMergerThrottlingMS를 추가합니다. autoMergerThrottlingMS 는 샤딩된 클러스터의 config 서버에서만 설정할 수 있습니다.
balancerMigrationsThrottlingMs Parameter
MongoDB 7.0은 밸런싱 속도를 조절할 수 있는 balancerMigrationsThrottlingMs 매개변수를 추가했습니다.
enableDetailedConnectionHealthMetricLogLines 매개 변수
MongoDB 에는 클러스터 연결 상태 지표와 관련된 로그 메시지 7.0 집합이 enableDetailedConnectionHealthMetricLogLines 로그에 표시되는지 여부를 지정할 수 있는 매개변수가 추가되었습니다.
oidcIdentityProviders Parameter
MongoDB 7.0은 OpenID oidcIdentityProviders Connect 인증을 사용할 때 멱등(IDP) 구성을 지정할 수 있는 매개 변수를 추가합니다.
configureQueryAnalysis 관련 매개변수
MongoDB 7.0에는 configureQueryAnalysis 명령과 관련된 매개 변수가 추가되었습니다.
chars $trim, $ltrim 및 $rtrim의 길이 제한
MongoDB 7.0.33부터 chars 에 제공하는 문자열의 길이가 4096 자로 제한됩니다. 자세한 내용은 $trim 제한 사항을 참조하세요.
보안
Queryable Encryption 일반 가용성
MongoDB 7.0에서는 동등 쿼리를 포함한 Queryable Encryption이 정식 출시되었습니다. 정식 출시 버전이 개선되면서 이제 Queryable Encryption Public Preview와는 호환되지 않으며, 이 기능은 이제 정식 출시 버전의 기능이므로 사용할 수 . 자세한 내용은 MongoDB 7.0의 호환성 변경을 참조하세요.
KMIP 1.0 및 1.1 지원
MongoDB 7.0(및 6.0.6) useLegacyProtocol 설정을 추가합니다. 이 설정은 MongoDB 서버와 KMIP 프로토콜 버전 1.0 또는 1.1을 사용하는 KMIP 서버의 연결을 허용합니다.
OpenSSL 및 FIPS 지원
MongoDB 7.0 및 6.0.7부터 시작됩니다, MongoDB는 이러한 운영 체제에서 OpenSSL 3.0 및 OpenSSL FIPS 공급자를 지원합니다.
레드햇 엔터프라이즈 리눅스 9
Amazon Linux 2023
Ubuntu Linux 22.04
자세한 내용은 TLS/SSL(전송 암호화)을 참조하세요.
(OpenID Connect)
7.0 버전부터 MongoDB Enterprise는 OpenID Connect 인증을 지원합니다. OpenID Connect는 OAuth2를 기반으로 구축된 인증 계층입니다. OpenID Connect를 사용하여 MongoDB 데이터베이스와 타사 멱등 간에 Single Sign-On을 구성할 수 있습니다.
집계
새 운영자:
이름 | 설명 |
|---|---|
지정된 백분위수 값에 해당하는 스칼라 값의 배열을 반환합니다. 이 연산자는 축적자와 집계 표현식으로 사용할 수 있습니다. |
$dateToString의 월 이름 지정자
MongoDB 7.0에는 $dateToString 연산자와 함께 사용할 수 있는 다음 형식 지정자가 추가되었습니다.
지정자 | 설명 | Possible Values |
|---|---|---|
| 월 이름 축약형(3글자) |
|
| 월 이름 전체 |
|
시계열
MongoDB 7.0은 delete 명령을 기반으로 하는 이러한 작업에서 대부분의 Time Series 제한을 제거합니다.
샤딩
샤딩 메타데이터 진단
MongoDB 7.0부터는 checkMetadataConsistency 명령을 사용하여 클러스터, 데이터베이스, 컬렉션 수준에서 샤딩 메타데이터의 불일치 여부를 확인할 수 있습니다. 이러한 불일치는 다음과 같은 경우에 발생할 수 있습니다.
MongoDB 이전 릴리스를 실행하는 동안 클러스터에 버그가 발생해 업그레이드를 하는 경우
클러스터 카탈로그를 손상시키는 수동 개입
The following helper methods are now available through mongosh:
명령이 확인하는 불일치에 대한 자세한 내용은 불일치 유형을 참조하세요.
mergeAllChunksOnShard 명령
MongoDB 7.0부터 mergeAllChunksOnShard 명령은 주어진 컬렉션에 대해 샤드가 소유하고 있는 병합 가능한 청크를 모두 찾아서 병합합니다.
자동 합병
MongoDB 7.0부터 자동 병합 기능은 병합성 요구 사항을 충족하는 청크를 자동으로 병합할 수 있습니다. 자동 병합은 기본적으로 활성화되어 있습니다.
MongoDB 7.0부터는 다음 메서드를 사용해 AutoMerger 동작을 제어할 수 있습니다.
configureCollectionBalancing에 대한 enableAutoMerger 매개 변수
MongoDB 7.0부터 configureCollectionBalancing 명령은 enableAutoMerger 매개변수를 받아들입니다. AutoMerger에서 이 컬렉션을 고려할지 여부를 설정하려면 enableAutoMerger 을 사용하십시오.
OperationBlockedByRefresh 측정항목이 제거됨
MongoDB 7.0에서는 카탈로그 캐시 새로 operationsBlockedByRefresh 고침 활동에 의해 차단된 작업에 대한 통계를 포함하는 문서가 제거되었습니다. 그 이유는 operationsBlockedByRefresh mongos 작업이 카탈로그 새로 고침 활동에 의해 차단되지 않은 경우에도 에서 컬렉션 라우팅 정보를 사용하는 모든 작업의 카운터가 증가했기 때문입니다.
analyzeShardKey 명령 및 db.collection.analyzeShardKey() 방법
MongoDB 7.0에는 샤드 키 평가를 위한 메트릭을 계산할 수 있는 analyzeShardKey 명령과 db.collection.analyzeShardKey() 메서드가 추가되었습니다.
configureQueryAnalyzer 명령 및 db.collection.configureQueryAnalyzer() 방법
MongoDB 7.0에는 컬렉션에 대한 쿼리 샘플링을 구성할 수 있는 configureQueryAnalyzer 명령이 추가되었습니다. MongoDB 7.0은 configureQueryAnalyzer 명령을 감싸는 db.collection.configureQueryAnalyzer()도 추가했습니다. 샘플링된 쿼리는 analyzeShardKey 샤드 키의 읽기 및 쓰기 분배에 관한 지표를 계산할 수 있도록 에 정보를 제공합니다.
플랫폼 지원
제거된 플랫폼
MongoDB 7.0은 PPC64LE 및 s390x 아키텍처에서 RHEL 7 / CentOS 7 / Oracle 7에 대한 지원을 제거합니다.
MongoDB 6.3에 도입된 변경 사항
집계
MongoDB 6.3에는 다음과 같은 애그리게이션 연산자가 도입되었습니다.
와이어 로그 메시지에 대한 연결 획득
MongoDB 6.3부터 서버 연결 획득과 네트워크를 통해 서버에 전송할 바이트를 쓰는 사이에 작업이 대기한 시간이 1밀리초를 초과하면 메시지가 로그에 추가됩니다. 자세한 내용은 와이어 로그 메시지에 대한 연결 획득을 참조하세요.
connPoolStats 지표
MongoDB 6.3부터 connPoolStats 명령의 출력 변경 사항은 다음과 같습니다.
문서 | 필드 |
|---|---|
새 | 각 범위의 연결 요청 수가 포함된 시간 범위입니다. 모든 시간 범위에 대한 연결 요청의 총 개수입니다. |
explain 출력에 유출된 데이터 파일 크기에 대한 필드가 포함됨
MongoDB 6.3부터 단계의 explain $group 출력에는 클래식 실행 엔진을 사용할 때 데이터 유출에 대한 새로운 지표가 포함됩니다.
spillFileSizeBytes,$group단계에서 디스크에 기록된 유출 파일의 크기입니다.numBytesSpilledEstimate, 압축 전$group단계에서 디스크에 기록된 바이트 수의 추정치입니다.
자세한 내용은 $sort 및 $group 단계를 참조하세요.
serverStatus 지표
MongoDB 6.3부터 serverStatus 명령과 db.serverStatus() 메서드에는 다음과 같은 출력 변경 사항이 있습니다.
문서 | 필드 |
|---|---|
새 | |
| |
새 | |
| |
| |
|
세션 워크플로 로그 메시지
MongoDB 6.3부터는 작업 응답을 보내는 시간이 slowms 임계값 옵션을 초과하면 로그에 메시지가 추가됩니다. 자세한 내용은 세션 워크플로 로그 메시지를 참조하세요.
MongoDB 서버 매개변수
MongoDB 6.3부터는 다음과 같은 서버 매개 변수가 추가되었습니다.
slowConnectionThresholdMillis느린 서버 연결 설정을 기록하는 시간 제한을 설정합니다.planCacheSize은(는) 슬롯 기반 쿼리 실행 엔진에 대한 계획 캐시 의 크기를 설정합니다.
time series 컬렉션 사용자 지정 버킷팅 매개변수
MongoDB 6.3에는 다음과 같은 time series 매개변수가 추가되었습니다.
bucketMaxSpanSeconds버킷의 측정값 사이의 최대 시간 범위를 설정합니다.bucketRoundingSeconds새 버킷의 시작 타임스탬프를 결정하는 시간 간격을 설정합니다.
compact time series 컬렉션 지원
MongoDB 6.3부터 compact 명령은 time series 컬렉션에서 작동합니다.
Time Series 인덱싱
MongoDB 6.3부터는 MongoDB time series 컬렉션 만들 때 metaField 및 timeField 필드에 복합 인덱스 자동으로 생성합니다.
MongoDB 6.2에 도입된 변경 사항
collection 유효성 검사
MongoDB 6.2부터 validate 명령 및 db.collection.validate() 메서드:
컬렉션을 확인하여 BSON 문서가 BSON 사양을 준수하는지 확인하십시오.
time series 컬렉션에 내부 데이터 불일치가 있는지 확인합니다.
포괄적인 BSON 검사를 가능하게 하는 새 옵션
checkBSONConformance이(가) 있습니다.
더 이상 사용되지 않는 명령
MongoDB 6.2부터 다음 데이터베이스 명령은 더 이상 사용되지 않습니다.
대신 $collStats 및 $currentOp 애그리게이션 단계를 사용합니다.
serverStatus 지표
MongoDB 6.2부터 serverStatus 명령 출력에 다음과 같은 새로운 필드가 포함됩니다.
MongoDB 6.2부터 serverStatus 명령과 db.serverStatus() 메서드는 mongos 인스턴스에 대한opLatencies지표를 보고합니다. mongos 에서 보고한 지연 시간에는 작업 지연 시간과 mongod } 인스턴스와 mongos 인스턴스 간의 통신 시간이 포함됩니다.
MongoDB 서버 매개변수
MongoDB 6.2부터 mongod 는 다음 매개 변수를 추가합니다.
샤딩
버전 6.2부터 MongoDB는 addShard 명령에서 maxSize 필드를 제거합니다. 그 결과는 다음과 같습니다.
MongoDB 6.1에 도입된 변경 사항
$addFields 및 $set 빈 객체를 표현식으로 허용
MongoDB 6.1부터 집계 단계 $addFields 및 $set 를 사용하면 $literal 표현식 사용하지 않고도 빈 객체에 대한 경로를 설정할 수 있습니다.
Auditing
MongoDB 6.1 은 다음 클러스터 감사 이벤트를 추가합니다.
MongoDB 6.1부터 스타트업 감사 이벤트 구조는 다음과 같습니다.
{ originalClusterServerParameter: <original parameter value>, updatedClusterServerParameter": <new parameter value> }
자세한 내용은 감사 이벤트 조치, 세부 정보 및 결과를 참조하세요.
분산 정책 변경
MongoDB 6.1부터 샤딩된 클러스터의 데이터는 청크 수가 아닌 데이터 크기를 기준으로 분산됩니다. 그 결과 샤딩된 클러스터 데이터 분배 동작에서 다음과 같은 중요한 변경 사항에 유의하세요.
밸런서는 청크가 아닌 데이터 범위를 분산합니다. 밸런싱 정책은 청크 분산보다는 데이터 분산의 균일성을 추구합니다.
청크는 자동 분할의 대상이 아닙니다. 대신 청크는 샤드 간에 이동할 때만 분할됩니다.
이제 청크를 범위라고 합니다.
moveRangemoveChunk를 대체했습니다.
저널링 변경 사항
MongoDB 6.1부터는 저널링이 항상 활성화됩니다. 결과적으로 MongoDB는 storage.journal.enabled 옵션과 해당 --journal 및 --nojournal 명령줄 옵션을 제거합니다.
currentOp 지표
MongoDB 6.1부터 currentOp 명령과 db.currentOp() 메서드가 리샤딩을 위한 출력을 확장했습니다.
리샤딩 작업에는 여러 MongoDB 인스턴스가 포함될 수 있으며, MongoDB 인스턴스는 리샤딩 작업에서 다양한 역할을 수행할 수 있습니다. 특정 작업과 리샤딩 프로세스에서 호스팅하다 인스턴스 수행하는 역할에 따라 각 지표가 업데이트되는 일이 결정됩니다.
메트릭 | 추적된 역할 | 설명 |
|---|---|---|
| 제거됨. | |
| 모두 | 수행된 조치 설명합니다. 값은 다음 중 하나입니다.
|
| 모두 | 이 지표의 상수 값은 'command'입니다. |
| 모두 | 리샤딩된 인덱스 의 네임스페이스 . 값은 |
| 모두 | 작업에 대한 명령 옵션을 나열하는 문서 입니다. |
| 기증자 | 역할의 상태 머신의 현재 상태 입니다. |
| 코디네이터 | 역할의 상태 머신의 현재 상태 입니다. |
| 수신자 | 역할의 상태 머신의 현재 상태 입니다. |
approxDocumentsToCopy | 수신자 | 소스 컬렉션 의 문서 수입니다. |
문서복사 | 수신자 | 이미 복사된 문서 수입니다. |
approxBytesToCopy | 수신자 | 소스 컬렉션 에 있는 문서의 총 크기(바이트)입니다. |
bytesCopied | 수신자 | 복사된 바이트 수입니다. 리샤딩이 완료되면 이 값은 |
oplogEntriesFetched | 수신자 | oplog 버퍼 컬렉션 에 기록된 oplog 항목의 수입니다. |
oplogEntriesApplied | 수신자 | oplog 버퍼 컬렉션 에서 적용된 oplog 항목의 수입니다. |
insertsApplied | 수신자 | 임시 리샤딩 컬렉션에 적용된 삽입 수입니다. 삽입과 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다. |
updatesApplied | 수신자 | 임시 리샤딩 컬렉션 에 적용된 업데이트 수입니다. 업데이트 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다. |
deleteApplied | 수신자 | 임시 리샤딩 컬렉션에 적용된 삭제 수입니다. 삭제와 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다. |
totalOperationTimeElapdSecs | 모두 | 작업이 시작된 이후의 시간(초)입니다. |
totalCopyTimeElapsedSecs | 수신자 | 복제에 소요된 시간(초)입니다. |
totalCopyTimeElapsedSecs | 코디네이터 | 수신자가 복제에 소비할 수 있는 최대 시간(초)입니다. |
totalApplyTimeElapsedSecs | 수신자 | 변경 사항을 적용하는 데 소요된 시간(초)입니다. |
totalApplyTimeElapsedSecs | 코디네이터 | 수신자가 변경 사항을 적용하는 데 소비할 수 있는 대략적인 최대 시간(초)입니다. |
totalCriticalSectionTimeElapdSecs | 수신자 | 중요 섹션에서 소요된 시간(초)입니다. |
totalCriticalSectionTimeElapdSecs | 코디네이터 | 중요 섹션이 유지될 수 있었던 시간(초)입니다. |
나머지 작업 시간예상초 | 수신자 | 작업이 완료될 때까지 예상되는 시간(초)입니다. |
allShardsLowestRemainingOperationTimeEstimatedSecs | 코디네이터 | 모든 샤드에 걸쳐 계산되며, 남은 시간(초)의 가장 낮은 추정치입니다. |
allShardsHighestRemainingOperationTimeEstimatedSecs | 코디네이터 | 모든 샤드에 걸쳐 계산되며, 남은 시간(초)의 가장 높은 추정치입니다. |
countWritesToStashCollections | 수신자 | 수신자 스태시 컬렉션에 대한 쓰기 횟수입니다. |
countWritesDuringCriticalSection | 기증자 | 기증자의 중요한 섹션 동안 시도된 쓰기 수입니다. |
countReadsDuringCriticalSection | 기증자 | 기증자의 임계 섹션 동안 시도된 읽기 수입니다. |
여러 문서 삭제를 위한 효율성 향상
MongoDB 6.1부터 도입됨:
효율성을 높이기 위해 MongoDB는 여러 문서를 일괄 삭제할 수 있습니다.
PCRE 라이브러리 업그레이드
Perl Compatible Regular Expressions (PCRE) is the library used by MongoDB to implement regular expression pattern matching. Starting in version 6.1, MongoDB upgrades the PCRE library to PCRE2. PCRE2 is the current PCRE library and is actively maintained and updated.
MongoDB 에서 정규식 일치를 수행하는 방법을 학습 다음 페이지를 참조하세요.
$regex(쿼리 연산자)$regexFind(집계 연산자)$regexFindAll(집계 연산자)$regexMatch(집계 연산자)
재시도 가능 쓰기 오류 처리
MongoDB 6.1부터 재시도 가능한 쓰기의 첫 번째와 두 번째 시도가 모두 단일 쓰기를 수행하지 않고 실패하면 MongoDB는 NoWritesPerformed 라벨과 함께 오류를 반환합니다.
NoWritesPerformed 라벨은 insertMany()과 같은 배치 작업의 결과를 구분합니다. insertMany 작업에서는 다음 결과 중 하나가 발생할 수 있습니다:
결과 | MongoDB 출력 |
|---|---|
문서가 삽입되지 않습니다. |
|
부분적인 작업이 완료되었습니다. (문서가 하나 이상 삽입되지만 모두 삽입되지는 않습니다.) |
|
모든 문서가 삽입됩니다. | 성공 반환. |
애플리케이션은 NoWritesPerformed 라벨을 사용하여 문서가 삽입되지 않았음을 확실하게 확인할 수 있습니다. 이 오류 보고를 통해 애플리케이션은 재시도 가능한 쓰기를 처리할 때 데이터베이스의 정확한 상태를 유지할 수 있습니다.
이전 버전의 MongoDB에서는 재시도 가능한 쓰기의 첫 번째 시도와 두 번째 시도가 모두 실패하면 오류가 반환되었습니다. 그러나 쓰기가 수행되지 않았음을 나타내는 구분은 이루어지지 않았습니다.
리샤딩
MongoDB 6.1부터 리샤딩을 사용할 수 있는 새로운 지표가 있습니다. 다음 명령의 출력이 변경되었습니다.
MongoDB 서버 매개변수
MongoDB 6.1부터는 MongoDB 다음과 같은 새로운 매개 변수를 추가합니다.
temporarilyUnavailableBackoffBaseMs쓰기 (write) 실패 후 재시도 사이의 시간을 조정합니다.temporarilyUnavailableMaxRetries쓰기 (write) 실패 후 재시도 횟수를 제한합니다.ldapRetryCount네트워크 오류 후 서버 LDAP 관리자가 작업을 재시도하는 횟수를 설정합니다.
serverStatus 지표
MongoDB 6.1 부터 serverStatus 명령과 db.serverStatus() 메서드의 출력이 다음과 같이 변경됩니다.
새로운 지표
countWritesToStashCollections수신자 스태시 컬렉션 에 대한 쓰기의 횟수입니다.latencies리샤딩 연산의 시간 지표입니다.collectionCloningTotalRemoteBatchRetrievalTimeMillis수신자가 기증자로부터의 문서 배치 검색에 소비한 총 시간(단위: 밀리초)입니다.collectionCloningTotalRemoteBatchesRetrieved수신자가 기증자로부터 검색한 문서 배치의 총 개수입니다.collectionCloningTotalLocalInsertTimeMillis수신자가 기증자로부터의 문서 배치를 삽입하는 데 소비한 총 시간(단위: 밀리초)입니다.collectionCloningTotalLocalInserts수신자가 삽입한 기증자로부터의 문서 배치의 총 개수입니다.oplogFetchingTotalRemoteBatchRetrievalTimeMillis수신자가 기증자로부터의 oplog 항목 배치 검색에 소비한 총 시간(단위: 밀리초)입니다.oplogFetchingTotalRemoteBatchesRetrieved수신자가 기증자로부터 검색한 oplog 항목 배치의 총 개수입니다.oplogFetchingTotalLocalInsertTimeMillis수신자가 기증자로부터의 oplog 항목 배치 삽입에 소비한 총 시간(단위: 밀리초)입니다.oplogFetchingTotalLocalInserts수신자가 삽입한 기증자로부터의 oplog 항목 배치의 총 개수입니다.oplogApplyingTotalLocalBatchRetrievalTimeMillis수신자가 가져오기 도중에 삽입된 oplog 항목 배치의 검색에 소비한 총 시간(단위: 밀리초)입니다.oplogApplyingTotalLocalBatchesRetrieved수신자가 검색했으며 가져오기 도중에 삽입된 oplog 항목 배치의 총 개수입니다.oplogApplyingTotalLocalBatchApplyTimeMillis수신자가 oplog 항목 배치 적용에 소비한 총 시간(단위: 밀리초)입니다.oplogApplyingTotalLocalBatchesApplied수신자가 적용한 oplog 항목 배치의 총 개수입니다.
대체된 지표
resharding.remainingOperationTimeEstimatedMillis 은(는) 다음으로 대체됩니다.
이름이 변경된 지표
countReshardingSuccessful→countSucceededcountReshardingFailures→countFailedcountReshardingOperations→countStartedcountReshardingCanceled→countCanceledminShardRemainingOperationTimeEstimatedMillis→coordinatorAllShardsLowestRemainingOperationTimeEstimatedMillismaxShardRemainingOperationTimeEstimatedMillis→coordinatorAllShardsHighestRemainingOperationTimeEstimatedMillisresharding.opcounters.insert→insertsAppliedresharding.opcounters.update→updatesAppliedresharding.opcounters.delete→deletesApplied
제거된 지표
oplogApplierApplyBatchLatencyMilliscollClonerFillBatchForInsertLatencyMillis
스토리지 엔진
드문 경우지만 캐시 압력으로 인해 쓰기가 실패할 수 있습니다. 이 경우 MongoDB는 TemporarilyUnavailable 오류를 발생시키고 두 곳, 즉 느린 쿼리 로그와 풀타임 진단 데이터 캡처(FTDC)에서 temporarilyUnavailableErrors 카운터를 증가시킵니다.
다중 문서 트랜잭션 내의 개별 작업은 TemporarilyUnavailable 오류를 반환하지 않습니다.
temporarilyUnavailableBackoffBaseMs 및 temporarilyUnavailableMaxRetries 매개변수를 수정하여 쓰기 (write) 재시도 속성을 조정합니다.
*UCP ASCII가 아닌 문자를 일치시키는 정규식 옵션
MongoDB 6.1부터는 정규식 쿼리에 *UCP 옵션을 사용할 수 있습니다. *UCP 옵션은 ASCII가 아닌 문자와 일치합니다(특히 옵션은 UTF-8 문자와 일치할 수 있음). 그러나 *UCP 옵션을 사용하면 옵션을 지정하지 않은 경우보다 쿼리 느려집니다.
*UCP 옵션을 사용하는 예시는 ASCII 외부의 문자와 일치하도록 정규식 옵션 확장을 참조하세요.
업그레이드 절차
중요
기능 호환성 버전
6.0 배포에서 MongoDB 7.0으로 업그레이드하려면 6.0 배포에 featureCompatibilityVersion 로 설정된 6.0 이 있어야 합니다. 버전을 확인하려면 다음을 입력하세요.
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
MongoDB 7.0으로 업그레이드하는 방법은 사용 중인 MongoDB 배포 관련 업그레이드 지침을 참조하세요.
7.0로 업그레이드하는 방법에 대한 지침이 필요한 경우에 대비하여 MongoDB 전문 서비스 팀은 MongoDB 애플리케이션에 지장을 주지 않고 원활하게 전환할 수 있도록 주요 버전 업그레이드 지원을 제공합니다. 자세한 내용은 MongoDB 컨설팅을 참조하세요.
다운그레이드 고려 사항
단일 버전 다운그레이드만 지원됩니다.
MongoDB는 단일 버전 다운그레이드만 지원합니다. 현재 릴리스보다 이전 버전인 릴리스로 다운그레이드할 수 없습니다.
예를 들어, 7.0 시리즈를 6.0 시리즈 배포로 다운그레이드할 수 있습니다. 하지만 6.0 시리즈 배포를 5.0 시리즈 배포로 한 단계 더 다운그레이드하는 것은 지원되지 않습니다.
다운그레이드 정책 변경
MongoDB 7.0부터 시작:
바이너리 다운그레이드는 더 이상 MongoDB Community Edition에서 지원되지 않습니다.
배포의 fCV를 Rapid Release 버전의 MongoDB로 다운그레이드할 수 없습니다.
2} 명령에는 추가 매개 변수
setFeatureCompatibilityVersion이confirm필요하며, 이 매개 변수를 로 설정해야truefCV를 업그레이드하거나 다운그레이드할 수 있습니다.배포의 fCV를 업그레이드하거나 다운그레이드하는 경우 지원팀의 지원 없이는 Enterprise 배포의 2진법 버전을 다운그레이드할 수 없습니다.
이전 버전과 호환되지 않는 기능
MongoDB 7.0에는 이전 릴리스와 호환되지 않는 기능이 포함되어 있습니다. 7.0에서 이전 릴리스로 다운그레이드하려면 이러한 기능을 사용하는 데이터를 제거해야 합니다.
자세한 내용은 이전 버전과 호환되지 않는 기능을 참조하세요.
다운로드
MongoDB 7.0을 다운로드하려면 MongoDB 다운로드 센터로 이동하세요.
이슈 신고하기
문제를 보고하려면 MongoDB GitHub 리포지토리에서 MongoDB 서버 또는 관련 프로젝트 중 하나에 대해 JIRA 티켓을 제출하는 방법을 참조하세요.