Azure DocumentDB는 MongoDB의 친숙한 기능을 Azure의 엔터프라이즈 기능과 결합하여 포괄적인 MQL(MongoDB 쿼리 언어) 호환성을 제공합니다. 이 문서에서는 연산자, 명령, 인덱스 및 MongoDB 유선 프로토콜을 포함하여 버전 5.0-8.0에서 MQL 호환성 및 기능 지원에 대한 버전별 개요를 제공합니다. 애플리케이션은 동일한 클라이언트 드라이버, SDK 및 도구를 사용하여 코드 변경 없이 실행할 수 있습니다. 사용자는 Azure의 확장성, 보안 및 다른 Azure 서비스와의 통합을 활용합니다.
네트워크 프로토콜 지원
Azure DocumentDB 서비스는 기존 도구 및 드라이버와의 원활한 호환성을 제공하는 MongoDB 유선 프로토콜을 사용합니다. MongoDB 유선 프로토콜을 지원하는 모든 클라이언트 드라이버는 Azure DocumentDB에 연결할 수 있으므로 코드 변경 없이 애플리케이션을 실행할 수 있습니다.
개발자는 동일한 클라이언트 드라이버, SDK(소프트웨어 개발 키트) 및 도구를 유지할 수 있습니다. 또한 사용자는 Azure 플랫폼 내의 다른 서비스와 Azure의 확장성, 보안 및 긴밀한 통합을 얻을 수 있습니다.
쿼리 언어 지원
프로토콜 지원 외에도 Azure DocumentDB는 MongoDB 쿼리 언어 구문에 대한 포괄적인 지원을 제공합니다.
호환성 철학
전체 제품 호환성은 서비스에서 지원하는 MongoDB 연산자(집계 단계, 집계 연산자, 쿼리 및 프로젝션 연산자 및 업데이트 연산자)의 수를 평가하여 결정됩니다. Azure DocumentDB는 PaaS 제품으로서 이러한 대부분의 명령을 사내에서 지원하므로 사용자 개입이 필요하지 않으므로 MongoDB 명령 및 관리자 작업은 이 계산에서 제외됩니다. 이러한 명령은 사용자에게 노출되지 않습니다. 그러나 사용 패턴 및 고객 피드백에 따라 일반적으로 사용되는 명령의 하위 집합을 사용하여 사용자 환경을 간소화할 수 있습니다.
현재 전체 제품 호환성은 99.02%. 아래 호환성 요약 테이블은 각 연산자 유형에 대한 지원을 자세히 설명합니다.
| 총계 | 지원됨 | 백분율 | |
|---|---|---|---|
| 집계 단계 | 60 | 58 | 96.67% |
| 집계 연산자 | 181 | 181 | 100% |
| 쿼리 및 프로젝션 연산자 | 45 | 44 | 97.78% |
| 업데이트 연산자 | 22 (이십이) | 22 (이십이) | 100% |
다음 섹션에서는 지원되는 데이터베이스 연산자, 명령 및 더 많은 기능을 포괄적으로 분석하여 다양한 시나리오에서 제품의 호환성 및 기능을 명확하게 볼 수 있습니다.
연산자
다음 표에는 Azure DocumentDB에서 현재 지원되는 연산자가 나열되어 있습니다.
| 카테고리 | Operator | 지원됨(v5.0) | 지원됨(v6.0) | 지원됨(v7.0) | 지원됨(v8.0) |
|---|---|---|---|---|---|
| 비교 쿼리 연산자 | $eq |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $gt |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $gte |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $in |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $lt |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $lte |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $ne |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 비교 쿼리 연산자 | $nin |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 논리 쿼리 연산자 | $and |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 논리 쿼리 연산자 | $not |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 논리 쿼리 연산자 | $nor |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 논리 쿼리 연산자 | $or |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 요소 쿼리 연산자 | $exists |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 요소 쿼리 연산자 | $type |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $expr |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $jsonSchema* |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $mod |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $regex |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $text |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 평가 쿼리 연산자 | $where |
Mongo 버전 8.0에서 사용되지 않음 | |||
| 지리 공간적 연산자 | $geoIntersects |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $geoWithin |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $box |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $center |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $centerSphere |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $geometry |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $maxDistance |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $minDistance |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $polygon |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $near |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 연산자 | $nearSphere |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 배열 쿼리 연산자 | $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 |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 사용자 지정 집계 식 연산자 | $accumulator |
Mongo 버전 8.0에서 사용되지 않음 | |||
| 사용자 지정 집계 식 연산자 | $function |
Mongo 버전 8.0에서 사용되지 않음 | |||
| 데이터 크기 연산자 | $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 |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 타임스탬프 식 연산자 | $tsIncrement |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 타임스탬프 식 연산자 | $tsSecond |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $sin |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $cos |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $tan |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $asin |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $acos |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $atan |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $atan2 |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $asinh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $acosh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $atanh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $sinh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $cosh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $tanh |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $degreesToRadians |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 삼각 식 연산자 | $radiansToDegrees |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $convert |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $isNumber |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toBool |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toDate |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toDecimal |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toDouble |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toInt |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toLong |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toObjectId |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $toString |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 유형 식 연산자 | $type |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$accumulator |
Mongo 버전 8.0에서 사용되지 않음 | |||
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$addToSet |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$avg |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$bottom |
✅ 예 | ✅ 예 | ✅ 예 | |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$bottomN |
✅ 예 | ✅ 예 | ✅ 예 | |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$count |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$first |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$firstN |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$last |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$lastN |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$max |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$maxN |
✅ 예 | ✅ 예 | ✅ 예 | |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$median |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$mergeObjects |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$min |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$percentile |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$push |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$stdDevPop |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$stdDevSamp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$sum |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$top |
✅ 예 | ✅ 예 | ✅ 예 | |
누적기($group, $bucket, $bucketAuto, $setWindowFields) |
$topN |
✅ 예 | ✅ 예 | ✅ 예 | |
| 누산기(다른 단계) | $avg |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $first |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $last |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $max |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $median |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $min |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $percentile |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $stdDevPop |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $stdDevSamp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 누산기(다른 단계) | $sum |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 변수 식 연산자 | $let |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $sum |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $push |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $addToSet |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $count |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $max |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $min |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $avg |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $stdDevPop |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $bottom |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $bottomN |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $covariancePop |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $covarianceSamp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $denseRank |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $derivative |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $documentNumber |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $expMovingAvg |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $first |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $integral |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $last |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $linearFill |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $locf |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $minN |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $rank |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $shift |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $stdDevSamp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $top |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 창 연산자 | $topN |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 조건식 연산자 | $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 |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 집계 파이프라인 단계 | $currentOp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 파이프라인 단계 | $listLocalSessions |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 집계 식의 변수 | NOW |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | ROOT |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | REMOVE |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | CURRENT |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | CLUSTER_TIME |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 집계 식의 변수 | DESCEND |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | PRUNE |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | KEEP |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 식의 변수 | SEARCH_META |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 집계 식의 변수 | USER_ROLES |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
비고
AvgObjsize및 size in은 collStatsdbStats 크기가 2킬로바이트 미만인 문서에서만 작동합니다.
스키마 유효성 검사는 다음을 지원합니다: insert, update, findAndModify, 그리고 집계의 $merge / $out 단계. 필요한 경우 유효성 검사를 건너뛰는 데 사용합니다 bypassDocumentValidation .
이 문서에서는 지원되는 서버 쪽 명령만 나열하며 클라이언트 쪽 래퍼 함수는 포함하지 않습니다. 클라이언트 쪽 래퍼 함수(예: deleteMany()updateMany()내부적으로 해당 서버 명령 및delete()update())를 호출합니다. 지원되는 서버 명령을 사용하는 모든 함수는 Azure DocumentDB와 호환됩니다.
데이터베이스 명령
Azure DocumentDB는 다음 데이터베이스 명령을 지원합니다.
| 카테고리 | Command | 기능(v5.0) | 기능(v6.0) | 기능(v7.0) | 기능(v8.0) |
|---|---|---|---|---|---|
| 관리 명령 | cloneCollectionAsCapped |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | collMod |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | compact |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | convertToCapped |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | create |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | createIndexes |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | currentOp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | drop |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | dropDatabase |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | dropIndexes |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | filemd5 |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | getDefaultRWConcern |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | getClusterParameter |
해당하지 않습니다. | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | getParameter |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | killCursors |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | killOp |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | listCollections |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | listDatabases |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | listIndexes |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | reIndex |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | renameCollection |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | setIndexCommitQuorum |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | setParameter |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 관리 명령 | setDefaultRWConcern |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | validateDBMetadata |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 관리 명령 | dropConnections |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | fsync |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | fsyncUnlock |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | logRotate |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | rotateCertificates |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | setFeatureCompatibilityVersion |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | shutdown |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | compactStructuredEncryptionData |
N/A² | N/A² | N/A² | N/A² |
| 관리 명령 | setUserWriteBlockMode |
N/A² | N/A² | N/A² | N/A² |
| 집계 명령 | aggregate |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 명령 | count |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 명령 | distinct |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 집계 명령 | mapReduce |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 인증 명령 | authenticate |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 인증 명령 | logout |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 진단 명령 | buildInfo |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | collStats |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | connPoolStats |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | connectionStatus |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | dataSize |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | dbHash |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | dbStats |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | explain |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | getCmdLineOpts |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | getLog |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | hello |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | hostInfo |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | listCommands |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | lockInfo |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | ping |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | profile |
N/A² | N/A² | N/A² | N/A² |
| 진단 명령 | serverStatus |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | shardConnPoolStats |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 진단 명령 | top |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 진단 명령 | validate |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 진단 명령 | whatsmyuri |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 지리 공간적 명령 | geoSearch |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 쿼리 및 쓰기 작업 명령 | bulkWrite |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 쿼리 및 쓰기 작업 명령 | delete |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 및 쓰기 작업 명령 | find |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 및 쓰기 작업 명령 | findAndModify |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 및 쓰기 작업 명령 | getLastError |
해당 없음 | 해당 없음 | 해당 없음 | 해당 없음 |
| 쿼리 및 쓰기 작업 명령 | getMore |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 및 쓰기 작업 명령 | insert |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 및 쓰기 작업 명령 | resetError |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 쿼리 및 쓰기 작업 명령 | update |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 쿼리 계획 캐시 명령 | N/A | ||||
| 복제 명령 | N/A | ||||
| 역할 관리 명령 | N/A | ||||
| 세션 명령 | abortTransaction |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 세션 명령 | commitTransaction |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 세션 명령 | endSessions |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 세션 명령 | killAllSessions |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 세션 명령 | killAllSessionsByPattern |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 세션 명령 | killSessions |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 세션 명령 | refreshSessions |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 세션 명령 | startSession |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 분할 명령 | enableSharding |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 분할 명령 | isdbgrid |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 분할 명령 | reshardCollection |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 분할 명령 | shardCollection |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 분할 명령 | unsetSharding |
해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. | 해당하지 않습니다. |
| 분할 명령 | addShardToZone |
N/A | N/A | N/A | N/A |
| 분할 명령 | clearJumboFlag |
N/A | N/A | N/A | N/A |
| 분할 명령 | abortUnshardCollection |
N/A | N/A | N/A | N/A |
| 분할 명령 | removeShard |
N/A | N/A | N/A | N/A |
| 분할 명령 | removeShardFromZone |
N/A | N/A | N/A | N/A |
| 분할 명령 | setShardVersion |
N/A | N/A | N/A | N/A |
| 분할 명령 | mergeChunks |
N/A | N/A | N/A | N/A |
| 분할 명령 | abortMoveCollection |
N/A | N/A | N/A | N/A |
| 분할 명령 | getShardMap |
N/A | N/A | N/A | N/A |
| 분할 명령 | analyzeShardKey |
N/A | N/A | N/A | N/A |
| 분할 명령 | medianKey |
N/A | N/A | N/A | N/A |
| 분할 명령 | checkMetadataConsistency |
N/A | N/A | N/A | N/A |
| 분할 명령 | shardingState |
N/A | N/A | N/A | N/A |
| 분할 명령 | cleanupReshardCollection |
N/A | N/A | N/A | N/A |
| 분할 명령 | flushRouterConfig |
N/A | N/A | N/A | N/A |
| 분할 명령 | balancerCollectionStatus |
N/A | N/A | N/A | N/A |
| 분할 명령 | balancerStart |
N/A | N/A | N/A | N/A |
| 분할 명령 | balancerStatus |
N/A | N/A | N/A | N/A |
| 분할 명령 | balancerStop |
N/A | N/A | N/A | N/A |
| 분할 명령 | configureCollectionBalancing |
N/A | N/A | N/A | N/A |
| 분할 명령 | listShards |
N/A | N/A | N/A | N/A |
| 분할 명령 | split |
N/A | N/A | N/A | N/A |
| 분할 명령 | moveChunk |
N/A | N/A | N/A | N/A |
| 분할 명령 | updateZoneKeyRange |
N/A | N/A | N/A | N/A |
| 분할 명령 | movePrimary |
N/A | N/A | N/A | N/A |
| 분할 명령 | moveRange |
N/A | N/A | N/A | N/A |
| 분할 명령 | abortReshardCollection |
N/A | N/A | N/A | N/A |
| 분할 명령 | commitReshardCollection |
N/A | N/A | N/A | N/A |
| 분할 명령 | refineCollectionShardKey |
N/A | N/A | N/A | N/A |
| 분할 명령 | configureQueryAnalyzer |
N/A | N/A | N/A | N/A |
| 분할 명령 | transitionFromDedicatedConfigServer |
N/A | N/A | N/A | N/A |
| 분할 명령 | transitionToDedicatedConfigServer |
N/A | N/A | N/A | N/A |
| 분할 명령 | unshardCollection |
N/A | N/A | N/A | N/A |
| 시스템 이벤트 감사 명령 | logApplicationMessage |
❌ 아니요 | ❌ 아니요 | ❌ 아니요 | ❌ 아니요 |
| 사용자 관리 명령 | createUser |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 사용자 관리 명령 | dropUser |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 사용자 관리 명령 | usersInfo |
✅ 예 | ✅ 예 | ✅ 예 | ✅ 예 |
| 사용자 관리 명령 | dropAllUsersFromDatabase |
N/A | N/A | N/A | N/A |
| 사용자 관리 명령 | grantRolesToUser |
N/A | N/A | N/A | N/A |
| 사용자 관리 명령 | revokeRolesFromUser |
N/A | N/A | N/A | N/A |
| 사용자 관리 명령 | updateUser |
N/A | N/A | N/A | N/A |
비고
-
getClusterParameter는 v5.0에서 지원되지 않습니다. - Azure는 PaaS 서비스인 Azure DocumentDB를 , 등과 같은
dropConnectionsfsynclogRotate명령에 대해 완전히 관리합니다. - MongoDB 버전 5.0에서는 사용되지 않습니다.
- MongoDB 버전 5.1에서는 사용되지 않습니다.
- PaaS 서비스의 일환으로, 데이터베이스 엔진이 쿼리 계획 캐싱을 관리합니다.
- Azure는 복제를 관리하여 수동으로 복제할 필요가 없도록 합니다.
- 완전히 관리되는 서비스인 이 기능은 Microsoft Entra ID를 통해 제공됩니다.
- PaaS 제품으로서 Azure는 분할된 데이터베이스 관리 및 리밸런싱을 처리합니다. 컬렉션을 분할하기만 하면 됩니다. Azure는 나머지를 처리합니다.
인덱스 형식
Azure DocumentDB는 다음 인덱스 유형을 지원합니다.
| Index | Description | 지원됨 |
|---|---|---|
| 단일 필드 인덱스 | 빠른 조회를 위해 단일 필드를 인덱싱합니다. | ✅ 예 |
| 복합 인덱스 | 하나의 인덱스에 여러 필드를 인덱싱합니다. | ✅ 예 |
| Multikey 인덱스 | 각 요소를 인덱싱하여 배열 필드를 인덱싱합니다. | ✅ 예 |
| 텍스트 인덱스 | 문자열 필드에 대한 텍스트 검색을 지원합니다. | ✅ 예 |
| 와일드카드 인덱스 | 모든 필드 또는 선택한 필드를 동적으로 인덱싱합니다. | ✅ 예 |
| 지리 공간적 인덱스 | GeoJSON 데이터에 대한 공간 쿼리를 지원합니다. | ✅ 예 |
| 해시된 인덱스 | 해시된 필드 값을 인덱싱하여, 주로 샤딩을 위해 사용됩니다. | ✅ 예 |
| 벡터 인덱스(DocumentDB에서만) | 벡터 데이터에 대해 유사성 검색을 사용하도록 설정합니다. | ✅ 예, 벡터 검색 |
비고
고유 인덱스를 만들면 빌드 프로세스의 전체 기간 동안 컬렉션에 대한 배타적 잠금이 생성됩니다. 이러한 인덱스는 작업이 완료될 때까지 컬렉션에 대한 읽기 및 쓰기 작업을 차단합니다.
인덱스 속성
Azure DocumentDB는 다음 인덱스 속성을 지원합니다.
| Index 속성 | Description | 지원됨 |
|---|---|---|
| TTL(Time to Live) | 지정된 TL(time-to-live) 기간 후에 문서를 자동으로 삭제합니다. | ✅ 예 |
| 고유한 | 인덱싱된 필드의 모든 값이 고유하도록 합니다. | ✅ 예 |
| Partial | 지정된 필터 조건과 일치하는 문서만 인덱싱합니다. | ✅ 예 |
| 대/소문자 구분 안 함 | 문자열 필드에 대/소문자를 구분하지 않는 인덱싱을 지원합니다. | ✅ 예 |
| 스파스 | 인덱싱된 필드를 포함하는 문서만 인덱싱합니다. | ✅ 예 |
| 배경 | 작업을 차단하지 않고 백그라운드에서 인덱스를 만들 수 있습니다. | ✅ 예 |