다음을 통해 공유


MongoDB vCore용 Azure Cosmos DB와의 MongoDB 호환성 및 기능 지원

적용 대상: MongoDB vCore

Azure Cosmos DB for MongoDB vCore를 사용하면 Azure Cosmos DB에서 제공하는 향상된 엔터프라이즈 기능에 액세스하면서 친숙한 MongoDB 이점을 경험할 수 있습니다. MongoDB 유선 프로토콜을 따라 호환성을 보장하므로 이미 익숙한 기존 클라이언트 드라이버, SDK 및 기타 도구를 활용할 수 있습니다.

프로토콜 지원

지원되는 연산자 및 제한 사항이나 예외는 다음과 같습니다. 이러한 프로토콜을 인식하는 모든 클라이언트 드라이버는 Azure Cosmos DB for MongoDB에 연결할 수 있습니다. Azure Cosmos DB for MongoDB vCore 클러스터를 만들 때 엔드포인트는 형식 *.mongocluster.cosmos.azure.com입니다.

쿼리 언어 지원

Azure Cosmos DB for MongoDB는 MongoDB 쿼리 언어 구문을 포괄적으로 지원합니다. 아래에서 현재 지원되는 데이터베이스 명령, 연산자, 단계, 명령 및 옵션에 대한 자세한 목록을 찾을 수 있습니다.

참고 항목

이 문서에서는 지원되는 서버 명령만 나열하고 클라이언트 쪽 래퍼 함수는 제외합니다. deleteMany()updateMany()와 같은 클라이언트 쪽 래퍼 함수는 내부적으로 delete()update() 서버 명령을 활용합니다. 지원되는 서버 명령을 활용하는 기능은 Azure Cosmos DB for MongoDB와 호환됩니다.

데이터베이스 명령

Azure Cosmos DB for MongoDB는 다음과 같은 데이터베이스 명령을 지원합니다.

범주Command지원됨
집계 명령aggregate네
count네
distinct예
mapReduce더 이상 사용되지 않음
인증 명령authenticate네
getnonce네
logout예
지리 공간적 명령geoSearch더 이상 사용되지 않음
쿼리 계획 캐시 명령아니요아니요
관리 명령cloneCollectionAsCapped아니요아니요 제한된(Capped) 컬렉션은 현재 지원되지 않습니다.
collMod예부분
compact아니요아니요
connPoolSync더 이상 사용되지 않음
convertToCapped아니요아니요 제한된(Capped) 컬렉션은 현재 지원되지 않습니다.
create예부분
createIndexes네
currentOp네
drop네
dropDatabase예
dropConnectionsPaaS 서비스로 Azure에서 관리됩니다.
dropIndexes네
filemd5아니요아니요
fsyncPaaS 서비스로 Azure에서 관리됩니다.
fsyncUnlockPaaS 서비스로 Azure에서 관리됩니다.
getDefaultRWConcern네
getClusterParameter아니요아니요
getParameter네
killCursors네
killOp네
listCollections네
listDatabases네
listIndexes예
logRotatePaaS 서비스로 Azure에서 관리됩니다.
reIndex네
renameCollection예
rotateCertificatesPaaS 서비스로 Azure에서 관리됩니다.
setFeatureCompatibilityVersionPaaS 서비스로 Azure에서 관리됩니다.
setIndexCommitQuorum아니요아니요
setParameter예부분
setDefaultRWConcern아니요아니요
shutdownPaaS 서비스로 Azure에서 관리됩니다.
사용자 및 역할 관리 명령현재는 지원되지 않지만 나중에 Azure Active Directory를 통해 사용할 수 있습니다.
복제 명령Azure가 복제를 관리하므로 고객이 수동으로 복제할 필요가 없습니다.
분할 명령enableSharding네
isdbgrid네
reshardCollection네
shardCollection예
unsetSharding더 이상 사용되지 않음
addShardPaaS(Platform-as-a-Service) 제품인 Azure는 분할된 데이터베이스 관리 및 리밸런싱을 관리합니다. 사용자가 컬렉션에 대한 분할 전략만 지정하면 Azure가 나머지를 처리합니다.
addShardToZone
clearJumboFlag
cleanupOrphaned
removeShard
removeShardFromZone
setShardVersion
mergeChunks
checkShardingIndex
getShardMap
getShardVersion
medianKey
splitVector
shardingState
cleanupReshardCollection
flushRouterConfig
balancerCollectionStatus
balancerStart
balancerStatus
balancerStop
configureCollectionBalancing
listShards
split
moveChunk
updateZoneKeyRange
movePrimary
abortReshardCollection
commitReshardCollection
refineCollectionShardKey
reshardCollection아니요아니요
쿼리 및 쓰기 작업 명령change streams아니요아니요
delete네
find네
findAndModify네
getLastError예
getMore예부분
insert예
resetError더 이상 사용되지 않음
update예
세션 명령abortTransaction네
commitTransaction네
endSessions네
killAllSessions없음아니요
killAllSessionsByPattern아니요아니요
killSessions네
refreshSessions아니요아니요
startSession예
진단 명령availableQueryOptions아니요아니요
buildInfo네
collStats네
connPoolStats아니요아니요
connectionStatus예부분
dataSize없음아니요
dbHash아니요아니요
dbStats예
driverOIDTestPaaS 서비스로 Azure에서 관리됩니다.
explain예
featuresPaaS 서비스로 Azure에서 관리됩니다.
getCmdLineOpts네
getLog예
hostInfo예부분
_isSelf아니요아니요
listCommands네
lockInfo없음아니요
netstat아니요아니요
ping예
profilePaaS 서비스로 Azure에서 관리됩니다.
serverStatus예
shardConnPoolStats더 이상 사용되지 않음
top아니요아니요
validate네
whatsmyuri예
시스템 이벤트 감사 명령logApplicationMessage아니요아니요

연산자

다음은 현재 Azure Cosmos DB for MongoDB vCore에서 지원되는 연산자 목록입니다.

참고 항목

$lookup 집계는 아직 'let'을 사용하여 변수 식을 사용할 수 없습니다. “collStats”의 AvgObjsize 및 크기는 문서 크기가 2KB 미만인 경우에만 작동합니다.

범주Operator지원됨
비교 쿼리 연산자$eq네
$gt네
$gte네
$in네
$lt네
$lte네
$ne네
$nin예
논리 쿼리 연산자$and네
$not네
$nor네
$or예
요소 쿼리 연산자$exists네
$type예
평가 쿼리 연산자$expr네
$jsonSchema아니요아니요
$mod네
$regex네
$text네
$where아니요아니요
지리 공간적 연산자예프라이빗 미리 보기*
배열 쿼리 연산자$all네
$elemMatch네
$size예
비트 쿼리 연산자$bitsAllClear네
$bitsAllSet네
$bitsAnyClear네
$bitsAnySet예
프로젝션 연산자$네
$elemMatch네
$meta네
$slice예
기타 쿼리 연산자$comment아니요아니요
$rand네
$natural아니요아니요
필드 업데이트 연산자$currentDate네
$inc네
$min네
$max네
$mul네
$rename네
$set네
$setOnInsert네
$unset예
배열 업데이트 연산자$네
$[]네
$[identifier]네
$addToSet네
$pop네
$pull네
$push네
$pullAll네
$each네
$position네
$slice네
$sort예
비트 업데이트 연산자$bit예
산술 식 연산자$abs네
$add네
$ceil네
$divide네
$exp네
$floor네
$ln네
$log네
$log10네
$mod네
$multiply네
$pow네
$round네
$sqrt네
$subtract네
$trunc예
배열 식 연산자$arrayElemAt네
$arrayToObject네
$concatArrays네
$filter네
$firstN네
$in네
$indexOfArray네
$isArray네
$lastN네
$map네
$maxN없음아니요
$minN아니요아니요
$objectToArray네
$range네
$reduce네
$reverseArray네
$size네
$slice네
$sortArray없음아니요
$zip아니요아니요
비트 연산자$bitAnd네
$bitNot네
$bitOr네
$bitXor예
부울 식 연산자$and네
$not네
$or예
비교 식 연산자$cmp네
$eq네
$gt네
$gte네
$lt네
$lte네
$ne예
사용자 지정 집계 식 연산자지원되지 않습니다.
데이터 크기 연산자$bsonSize네
$binarySize예
데이터 식 연산자$dateAdd네
$dateDiff네
$dateFromParts네
$dateFromString네
$dateSubtract네
$dateToParts네
$dateToString네
$dateTrunc네
$dayOfMonth네
$dayOfWeek네
$dayOfYear네
$hour네
$isoDayOfWeek네
$isoWeek네
$isoWeekYear네
$millisecond네
$minute네
$month네
$second네
$toDate네
$week네
$year예
리터럴 식 연산자$literal예
기타 연산자$getField아니요아니요
$rand네
$sampleRate아니요아니요
개체 식 연산자$mergeObjects네
$objectToArray네
$setField예
집합 식 연산자$allElementsTrue네
$anyElementTrue네
$setDifference네
$setEquals네
$setIntersection네
$setIsSubset네
$setUnion예
문자열 식 연산자$concat네
$dateFromString아니요아니요
$dateToString네
$indexOfBytes네
$indexOfCP네
$ltrim네
$regexFind네
$regexFindAll네
$regexMatch네
$replaceOne네
$replaceAll네
$rtrim네
$split네
$strLenBytes네
$strLenCP네
$strcasecmp네
$substr네
$substrBytes네
$substrCP네
$toLower네
$toString네
$trim네
$toUpper예
텍스트 식 연산자$meta예
타임스탬프 식 연산자지원되지 않습니다.
삼각 식 연산자지원되지 않습니다.
유형 식 연산자$convert네
$isNumber네
$toBool네
$toDate네
$toDecimal네
$toDouble네
$toInt네
$toLong네
$toObjectId네
$toString네
$type예
누산기($group, $bucket, $bucketAuto, $setWindowFields)$accumulator없음아니요
$addToSet아니요아니요
$avg네
$bottom없음아니요
$bottomN아니요아니요
$count네
$first네
$firstN네
$last네
$lastN네
$max네
$maxN없음아니요
$median없음아니요
$mergeObjects아니요아니요
$min네
$percentile없음아니요
$push없음아니요
$stdDevPop없음아니요
$stdDevSamp아니요아니요
$sum네
$top없음아니요
$topN아니요아니요
누산기(다른 단계)$avg아니요아니요
$first네
$last네
$max없음아니요
$median없음아니요
$min없음아니요
$percentile없음아니요
$stdDevPop없음아니요
$stdDevSamp없음아니요
$sum아니요아니요
변수 식 연산자지원되지 않습니다.
창 연산자지원되지 않습니다.
조건식 연산자$cond네
$ifNull네
$switch예
집계 파이프라인 단계$addFields네
$bucket없음아니요
$bucketAuto없음아니요
$changeStream없음아니요
$changeStreamSplitLargeEvent아니요아니요
$collStats네
$count네
$densify없음아니요
$documents아니요아니요
$facet네
$fill없음아니요
$geoNear아니요아니요
$graphLookup네
$group네
$indexStats네
$limit네
$listSampledQueries없음아니요
$listSearchIndexes없음아니요
$listSessions아니요아니요
$lookup네
$match네
$merge없음아니요
$out없음아니요
$planCacheStats아니요아니요
$project네
$redact아니요아니요
$replaceRoot네
$replaceWith네
$sample네
$search네
$searchMeta네
$set네
$setWindowFields아니요아니요
$skip네
$sort네
$sortByCount네
$unionWith아니요아니요
$unset네
$unwind네
$shardedDataDistribution없음아니요
$changeStream아니요아니요
$currentOp네
$listLocalSessions없음아니요
$documents없음아니요

인덱스 및 인덱스 속성

Azure Cosmos DB for MongoDB vCore는 다음 인덱스 및 인덱스 속성을 지원합니다.

참고 항목

고유 인덱스를 만들면 빌드 프로세스의 전체 기간 동안 컬렉션에 대한 배타적 잠금이 생성됩니다. 이렇게 하면 작업이 완료될 때까지 컬렉션에 대한 읽기 및 쓰기 작업이 차단됩니다.

인덱스

명령지원됨
단일 필드 인덱스예
복합 인덱스예
Multikey 인덱스예
텍스트 인덱스예
지리 공간적 인덱스예프라이빗 미리 보기*
해시된 인덱스예
벡터 인덱스(Cosmos DB에서만 사용 가능)예 예, 벡터 검색 사용

인덱스 속성

명령지원됨
TTL예
고유예
부분예
대/소문자 구분 안 함아니요아니요
스파스예
배경예

다음 단계