Kompatibilita a podpora funkcí MongoDB s využitím virtuálních jader Azure Cosmos DB pro MongoDB
PLATÍ PRO: Virtuální jádro MongoDB
Virtuální jádro Služby Azure Cosmos DB pro MongoDB umožňuje využívat známé výhody MongoDB a zároveň přistupovat k vylepšeným podnikovým funkcím nabízeným službou Azure Cosmos DB. Zajišťuje kompatibilitu pomocí přenosového protokolu MongoDB a umožňuje využívat stávající klientské ovladače, sady SDK a další nástroje, které už znáte.
Podpora protokolu
Tady jsou uvedené podporované operátory a všechna omezení nebo výjimky. Každý klientský ovladač, který těmto protokolům rozumí, by měl být schopný se připojit ke službě Azure Cosmos DB for MongoDB. Při vytváření clusterů virtuálních jader Azure Cosmos DB pro MongoDB je koncový bod ve formátu *.mongocluster.cosmos.azure.com
.
Podpora dotazovacího jazyka
Azure Cosmos DB pro MongoDB poskytuje komplexní podporu konstruktorů dotazovacího jazyka MongoDB. Níže najdete podrobný seznam aktuálně podporovaných databázových příkazů, operátorů, fází a možností.
Poznámka:
Tento článek obsahuje pouze podporované příkazy serveru a vyloučí funkce obálky na straně klienta. Funkce obálky na straně klienta, jako deleteMany()
jsou a updateMany()
interně využívají delete()
příkazy a update()
příkazy serveru. Funkce využívající podporované příkazy serveru jsou kompatibilní se službou Azure Cosmos DB pro MongoDB.
Databázové příkazy
Azure Cosmos DB pro virtuální jádro MongoDB podporuje následující databázové příkazy:
Kategorie | Příkaz | Funkce | ||
v5.0 | v6.0 | v7.0 | ||
Příkazy agregace | agregátní | |||
count | ||||
distinct | ||||
mapReduce | Zastaralé v MongoDB 5.0 | |||
Příkazy pro ověřování | authenticate | |||
getnonce | Zastaralé v MongoDB 4.0 | |||
logout | Zastaralé v MongoDB 5.0 | |||
Geoprostorové příkazy | geoSearch | Zastaralé v MongoDB 5.0 | ||
Příkazy mezipaměti plánu dotazů | ||||
Příkazy pro správu | cloneCollectionAsCapped | Ne, omezené kolekce se v současné době nepodporují. | ||
collMod | ||||
compact | ||||
convertToCapped | Ne. Omezené kolekce se v současné době nepodporují. | |||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | Jako služba PaaS to bude spravovat Azure. | |||
dropIndexes | ||||
filemd5 | ||||
fsync | Jako služba PaaS to bude spravovat Azure. | |||
fsyncUnlock | Jako služba PaaS to bude spravovat Azure. | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | Jako služba PaaS to bude spravovat Azure. | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | Jako služba PaaS to bude spravovat Azure. | |||
setFeatureCompatibilityVersion | Jako služba PaaS to bude spravovat Azure. | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
shutdown | Jako služba PaaS to bude spravovat Azure. | |||
Příkazy pro správu rolí a uživatelů | Dnes se nepodporuje, ale v budoucnu bude k dispozici prostřednictvím Azure Active Directory. | |||
Příkazy replikace | Azure spravuje replikaci a odstraňuje nutnost, aby se zákazníci mohli replikovat ručně. | |||
Příkazy horizontálního dělení | enableSharding | |||
isdbgrid | ||||
reshardCollection | ||||
shardCollection | ||||
unsetSharding | Zastaralé v MongoDB 5.0 | |||
addShard | Jako nabídka PaaS (Platforma jako služba) spravuje Azure správu horizontálních oddílů a vyrovnávání. Uživatelé musí zadat pouze strategii horizontálního dělení pro kolekce a Azure bude zpracovávat zbytek. | |||
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 | ||||
Příkazy operací dotazování a zápisu | change streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | Zastaralé v MongoDB 5.1 | |||
getMore | ||||
insert | ||||
resetError | Zastaralé v MongoDB 5.0 | |||
update | ||||
Příkazy relace | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
Diagnostické příkazy | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | Jako služba PaaS to bude spravovat Azure. | |||
explain | ||||
features | Jako služba PaaS to bude spravovat Azure. | |||
getCmdLineOpts | ||||
getLog | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | Jako služba PaaS to bude spravovat Azure. | |||
serverStatus | ||||
shardConnPoolStats | Zastaralé v MongoDB 5.0 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
Příkazy auditování systémových událostí | logApplicationMessage |
Operátory
Níže je seznam operátorů aktuálně podporovaných ve službě Azure Cosmos DB pro virtuální jádro MongoDB:
Poznámka:
AvgObjsize a velikost v "collStats" a "dbStats" funguje pouze s velikostí dokumentu menší než 2 kB.
Kategorie | Příkaz | Funkce | ||
v5.0 | v6.0 | v7.0 | ||
Operátory dotazu porovnání | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
Logické operátory dotazů | $and | |||
$not | ||||
$nor | ||||
$or | ||||
Operátory dotazu elementu | $exists | |||
$type | ||||
Operátory dotazů pro vyhodnocení | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
Geoprostorové operátory | $geoIntersects | |||
$geoWithin | ||||
$box | ||||
$center | ||||
$centerSphere | ||||
$geometry | ||||
$maxDistance | ||||
$minDistance | ||||
$polygon | ||||
$near | ||||
$nearSphere | ||||
Operátory maticových dotazů | $all | |||
$elemMatch | ||||
$size | ||||
Bitové operátory dotazů | $bitsAllClear | |||
$bitsAllSet | ||||
$bitsAnyClear | ||||
$bitsAnySet | ||||
Operátory projekce | $ | |||
$elemMatch | ||||
$meta | ||||
$slice | ||||
Různé operátory dotazů | $comment | |||
$rand | ||||
$natural | ||||
Operátory aktualizace polí | $currentDate | |||
$inc | ||||
$min | ||||
$max | ||||
$mul | ||||
$rename | ||||
$set | ||||
$setOnInsert | ||||
$unset | ||||
Operátory aktualizace pole | $ | |||
$[] | ||||
$[identifier] | ||||
$addToSet | ||||
$pop | ||||
$pull | ||||
$push | ||||
$pullAll | ||||
$each | ||||
$position | ||||
$slice | ||||
$sort | ||||
Bitové aktualizační operátory | $bit | |||
Aritmetické operátory výrazů | $abs | |||
$add | ||||
$ceil | ||||
$divide | ||||
$exp | ||||
$floor | ||||
$ln | ||||
$log | ||||
$log10 | ||||
$mod | ||||
$multiply | ||||
$pow | ||||
$round | ||||
$sqrt | ||||
$subtract | ||||
$trunc | ||||
Operátory výrazů pole | $arrayElemAt | |||
$arrayToObject | ||||
$concatArrays | ||||
$filter | ||||
$firstN | ||||
$in | ||||
$indexOfArray | ||||
$isArray | ||||
$lastN | ||||
$map | ||||
$maxN | ||||
$minN | ||||
$objectToArray | ||||
$range | ||||
$reduce | ||||
$reverseArray | ||||
$size | ||||
$slice | ||||
$sortArray | ||||
$zip | ||||
Bitové operátory | $bitAnd | |||
$bitNot | ||||
$bitOr | ||||
$bitXor | ||||
Logické operátory výrazů | $and | |||
$not | ||||
$or | ||||
Operátory relačních výrazů | $cmp | |||
$eq | ||||
$gt | ||||
$gte | ||||
$lt | ||||
$lte | ||||
$ne | ||||
Vlastní operátory agregačních výrazů | Zatím není podporováno. | |||
Operátory velikosti dat | $bsonSize | |||
$binarySize | ||||
Operátory výrazů data | $dateAdd | |||
$dateDiff | ||||
$dateFromParts | ||||
$dateFromString | ||||
$dateSubtract | ||||
$dateToParts | ||||
$dateToString | ||||
$dateTrunc | ||||
$dayOfMonth | ||||
$dayOfWeek | ||||
$dayOfYear | ||||
$hour | ||||
$isoDayOfWeek | ||||
$isoWeek | ||||
$isoWeekYear | ||||
$millisecond | ||||
$minute | ||||
$month | ||||
$second | ||||
$toDate | ||||
$week | ||||
$year | ||||
Operátor literálových výrazů | $literal | |||
Různé operátory | $getField | |||
$rand | ||||
$sampleRate | ||||
Operátory výrazů objektů | $mergeObjects | |||
$objectToArray | ||||
$setField | ||||
Set Expression Operators | $allElementsTrue | |||
$anyElementTrue | ||||
$setDifference | ||||
$setEquals | ||||
$setIntersection | ||||
$setIsSubset | ||||
$setUnion | ||||
Řetězcové operátory výrazů | $concat | |||
$dateFromString | ||||
$dateToString | ||||
$indexOfBytes | ||||
$indexOfCP | ||||
$ltrim | ||||
$regexFind | ||||
$regexFindAll | ||||
$regexMatch | ||||
$replaceOne | ||||
$replaceAll | ||||
$rtrim | ||||
$split | ||||
$strLenBytes | ||||
$strLenCP | ||||
$strcasecmp | ||||
$substr | ||||
$substrBytes | ||||
$substrCP | ||||
$toLower | ||||
$toString | ||||
$trim | ||||
$toUpper | ||||
Operátor textového výrazu | $meta | |||
Operátory časového razítka | $tsIncrement | |||
$tsSecond | ||||
Operátory trigonometrie výrazů | $sin | |||
$cos | ||||
$tan | ||||
$asin | ||||
$acos | ||||
$atan | ||||
$atan2 | ||||
$asinh | ||||
$acosh | ||||
$atanh | ||||
$sinh | ||||
$cosh | ||||
$tanh | ||||
$degreesToRadians | ||||
$radiansToDegrees | ||||
Operátory výrazů typu | $convert | |||
$isNumber | ||||
$toBool | ||||
$toDate | ||||
$toDecimal | ||||
$toDouble | ||||
$toInt | ||||
$toLong | ||||
$toObjectId | ||||
$toString | ||||
$type | ||||
Akumulátory ($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 | ||||
Akumulátory (v jiných fázích) | $avg | |||
$first | ||||
$last | ||||
$max | ||||
$median | ||||
$min | ||||
$percentile | ||||
$stdDevPop | ||||
$stdDevSamp | ||||
$sum | ||||
Operátory výrazů proměnných | $let | |||
Operátory oken | $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 | ||||
Operátory podmíněného výrazu | $cond | |||
$ifNull | ||||
$switch | ||||
Fáze kanálu agregace | $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 | ||||
Proměnné ve výrazech agregace | TEĎ | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
Indexy a vlastnosti indexu
Azure Cosmos DB pro virtuální jádro MongoDB podporuje následující indexy a vlastnosti indexu:
Poznámka:
Vytvoření jedinečného indexu získá výhradní zámek kolekce po celou dobu trvání procesu sestavení. Tím se zablokuje operace čtení a zápisu v kolekci, dokud se operace nedokončí.
Indexy
Vlastnosti indexu
Příkaz | Podporováno |
TTL | |
Jedinečný | |
Částečná | |
Nerozlišující velká a malá písmena | |
Řídké | |
Pozadí |