Azure Cosmos DB for MongoDB 虛擬核心提供 MongoDB 相容性和功能支援
適用於: MongoDB 虛擬核心
Azure Cosmos DB for MongoDB 虛擬核心為您帶來熟悉的 MongoDB 優勢,同時讓您存取 Azure Cosmos DB 增強企業功能。 Azure Cosmos DB for MongoDB 遵循 MongoDB 有線通訊協定,確保相容性,並讓您有效率的調控現有用戶端驅動程式、SDK 和您已熟悉的其他工具。
通訊協定支援
以下列出支援的運算子及任何限制或例外狀況。 任何了解這些通訊協定的用戶端驅動程式,都應能與 Azure Cosmos DB for MongoDB 連線。 建立 Azure Cosmos DB for MongoDB 虛擬核心叢集時,端點的格式是 *.mongocluster.cosmos.azure.com
。
查詢語言支援
Azure Cosmos DB for MongoDB 為 MongoDB 查詢語言建構提供全面支援。 您可以在下方找到目前支援的資料庫命令、運算子、階段和選項的詳細清單。
注意
本文只列出支援的伺服器命令,不包括用戶端包裝函式。 deleteMany()
和 updateMany()
等用戶端包裝函式會在內部利用 delete()
和 update()
伺服器命令。 利用支援伺服器命令的函式與 Azure Cosmos DB for MongoDB 相容。
資料庫命令
Azure Cosmos DB for MongoDB 虛擬核心支援以下資料庫命令:
類別 | 命令 | 功能 | ||
v5.0 | v6.0 | v7.0 | ||
彙總命令 | 彙總 | |||
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 | 這是平台即服務 (PaaS) 供應項目的一部分,將由 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 | ||||
查詢和寫入作業命令 | 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 | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | 這是 PaaS 服務的一部分,將由 Azure 管理。 | |||
serverStatus | ||||
shardConnPoolStats | MongoDB 5.0 中已被取代 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
系統事件稽核命令 | logApplicationMessage |
操作員
以下是 Azure Cosmos DB for MongoDB 虛擬核心目前支援的運算子的清單:
注意
「collStats」和「dbStats」中的 AvgObjsize 和大小只適用於小於 2KB 的文件大小。
類別 | 命令 | 功能 | ||
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 | ||||
三角運算式運算子 | $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 | |||
$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 | ||||
變數運算式運算子 | $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 | ||||
$changeStream | ||||
$currentOp | ||||
$listLocalSessions | ||||
$documents | ||||
彙總運算式中的變數 | 立即 | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
索引和索引屬性
Azure Cosmos DB for MongoDB 虛擬核心支援以下索引和索引屬性:
注意
建立唯一索引會在整個組建流程中取得集合的獨佔鎖定。 這會阻擋對集合的讀取和寫入作業,直到作業完成。
索引數
Command | 支援 |
單一欄位索引 | |
複合索引 | |
多重索引鍵索引 | |
文字索引 | |
萬用字元索引 | |
地理空間索引 | |
雜湊索引 | |
向量索引(只在 Cosmos DB 中可用) | 是,使用向量搜尋 |
索引屬性
Command | 支援 |
TTL | |
唯一 | |
Partial | |
不區分大小寫 | |
疏鬆 | |
背景 |