Azure Cosmos DB for MongoDB 仮想コアでの MongoDB の互換性と機能のサポート
適用対象: MongoDB 仮想コア
Azure Cosmos DB for MongoDB 仮想コアを使用すると、Azure Cosmos DB によって提供される強化されたエンタープライズ機能にアクセスしながら、使い慣れた MongoDB の利点を体験できます。 MongoDB ワイヤ プロトコルに従うことで互換性が確保されるため、既に使い慣れている既存のクライアント ドライバー、SDK、その他のツールを活用できます。
プロトコルのサポート
こちらに、サポートされている演算子およびすべての制限事項や例外の一覧を示します。 これらのプロトコルを認識するすべてのクライアント ドライバーは、Azure Cosmos DB for MongoDB に接続できるはずです。 Azure Cosmos DB for MongoDB 仮想コア クラスターを作成すると、エンドポイントは *.mongocluster.cosmos.azure.com
という形式になります。
クエリ言語のサポート
Azure Cosmos DB for MongoDB では、MongoDB クエリ言語のコンストラクトが包括的にサポートされます。 以下に、現在サポートされているデータベース コマンド、演算子、ステージ、およびオプションの詳細な一覧を示します。
Note
この記事では、サポートされているサーバー コマンドの一覧のみを示し、クライアント側のラッパー関数については除外しています。 deleteMany()
や updateMany()
などのクライアント側のラッパー関数は、内部では delete()
や update()
といったサーバー コマンドを利用しています。 サポートされるサーバー コマンドを利用している関数は、Azure Cosmos DB for MongoDB と互換性があります。
データベース コマンド
Azure Cosmos DB for MongoDB 仮想コアでは、次のデータベース コマンドがサポートされます。
カテゴリ | コマンド | 機能 | ||
v5.0 | v6.0 | v7.0 | ||
集計コマンド | aggregate | |||
count | ||||
distinct | ||||
mapReduce | MongoDB 5.0 で非推奨 | |||
認証コマンド | authenticate | |||
getnonce | MongoDB 4.0 で非推奨 | |||
logout | MongoDB 5.0 で非推奨 | |||
地理空間コマンド | geoSearch | MongoDB 5.0 で非推奨 | ||
クエリ プラン キャッシュ コマンド | ||||
管理コマンド | cloneCollectionAsCapped | |||
collMod | ||||
compact | ||||
convertToCapped | ||||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | これは、PaaS サービスとして Azure によって管理されます。 | |||
dropIndexes | ||||
filemd5 | ||||
fsync | これは、PaaS サービスとして Azure によって管理されます。 | |||
fsyncUnlock | これは、PaaS サービスとして Azure によって管理されます。 | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | これは、PaaS サービスとして Azure によって管理されます。 | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | これは、PaaS サービスとして Azure によって管理されます。 | |||
setFeatureCompatibilityVersion | これは、PaaS サービスとして Azure によって管理されます。 | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
shutdown | これは、PaaS サービスとして Azure によって管理されます。 | |||
ユーザーとロール管理のコマンド | 現時点ではサポートされていませんが、将来的には Azure Active Directory 経由で利用できるようになります。 | |||
レプリケーション コマンド | Azure がレプリケーションを管理するため、顧客が手動でレプリケートする必要がなくなります。 | |||
シャーディング コマンド | enableSharding | |||
isdbgrid | ||||
reshardCollection | ||||
shardCollection | ||||
unsetSharding | MongoDB 5.0 で非推奨 | |||
addShard | Azure が、サービスとしてのプラットフォーム (PaaS) オファリングとしてシャード管理と再調整を管理します。 ユーザーはコレクションのシャーディング戦略を指定するだけで済み、残りの部分は 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 | ||||
クエリおよび書き込み操作のコマンド | change streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | MongoDB 5.1 で非推奨 | |||
getMore | ||||
insert | ||||
resetError | MongoDB 5.0 で非推奨 | |||
update | ||||
セッション コマンド | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
診断コマンド | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | これは、PaaS サービスとして Azure によって管理されます。 | |||
explain | ||||
features | これは、PaaS サービスとして Azure によって管理されます。 | |||
getCmdLineOpts | ||||
getLog | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | これは、PaaS サービスとして Azure によって管理されます。 | |||
serverStatus | ||||
shardConnPoolStats | MongoDB 5.0 で非推奨 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
システム イベント監査コマンド | logApplicationMessage |
演算子
Azure Cosmos DB for MongoDB 仮想コアで現在サポートされている演算子の一覧を以下に示します。
Note
$lookup
集計では、'let' を使用した変数式の使用はまだサポートされていません。
"collStats" と "dbStats" の AvgObjsize とサイズは、2 KB 未満のドキュメント サイズでのみ機能します。
カテゴリ | コマンド | 機能 | ||
v5.0 | v6.0 | v7.0 | ||
比較クエリ演算子 | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
論理クエリ演算子 | $and | |||
$not | ||||
$nor | ||||
$or | ||||
要素クエリ演算子 | $exists | |||
$type | ||||
評価クエリ演算子 | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
地理空間演算子 | $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 | ||||
カスタム集計式演算子 | まだサポートされていません。 | |||
データ サイズ演算子 | $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 | ||||
三角法式演算子 | まだサポートされていません。 | |||
型式演算子 | $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 | ||||
集計式の変数 | NOW | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
インデックスとそのプロパティ
Azure Cosmos DB for MongoDB 仮想コアでは、次のインデックスとインデックス プロパティがサポートされています。
注意
一意なインデックスを作成すると、構築プロセスの全期間にわたってコレクションに対する排他的ロックが取得されます。 これにより、操作が完了するまで、コレクションに対する読み取り操作と書き込み操作がブロックされます。
インデックス
command | サポートされています |
単一フィールド インデックス | |
複合インデックス | |
複数キー インデックス | |
テキスト インデックス | |
ワイルドカード インデックス | |
地理空間のインデックス | |
ハッシュ インデックス | |
ベクター インデックス (Cosmos DB でのみ使用可能) |
インデックスのプロパティ
command | サポートされています |
TTL | |
[一意] | |
部分的 | |
大文字と小文字の区別をしない | |
スパース | |
背景 |