Compatibiliteit en functieondersteuning van MongoDB met Azure Cosmos DB voor MongoDB vCore
VAN TOEPASSING OP: MongoDB vCore
Met Azure Cosmos DB voor MongoDB vCore kunt u de vertrouwde MongoDB-voordelen ervaren terwijl u toegang krijgt tot de verbeterde enterprise-functies van Azure Cosmos DB. Het garandeert compatibiliteit door het MongoDB-wire-protocol te volgen, zodat u bestaande clientstuurprogramma's, SDK's en andere hulpprogramma's kunt gebruiken waarmee u al bekend bent.
Protocolondersteuning
De ondersteunde operators en eventuele beperkingen of uitzonderingen worden hier vermeld. Elk clientstuurprogramma dat deze protocollen begrijpt, moet verbinding kunnen maken met Azure Cosmos DB voor MongoDB. Wanneer u Azure Cosmos DB voor MongoDB vCore-clusters maakt, heeft het eindpunt de indeling *.mongocluster.cosmos.azure.com
.
Ondersteuning voor querytaal
Azure Cosmos DB voor MongoDB biedt uitgebreide ondersteuning voor MongoDB-querytaalconstructies. Hieronder vindt u de gedetailleerde lijst met momenteel ondersteunde databaseopdrachten, operators, fasen en opties.
Notitie
In dit artikel worden alleen de ondersteunde serveropdrachten vermeld en worden wrapper-functies aan de clientzijde uitgesloten. Wrapper-functies aan de clientzijde, zoals deleteMany()
en updateMany()
, maken intern gebruik van de serveropdrachten delete()
en update()
. Functies die gebruikmaken van ondersteunde serveropdrachten zijn compatibel met Azure Cosmos DB voor MongoDB.
Databaseopdrachten
Azure Cosmos DB voor MongoDB vCore ondersteunt de volgende databaseopdrachten:
Categorie | Command | Functie | ||
v5.0 | v6.0 | v7.0 | ||
Aggregatieopdrachten | aggregaat | |||
count | ||||
distinct | ||||
mapReduce | Afgeschaft in MongoDB 5.0 | |||
Verificatieopdrachten | authenticate | |||
getnonce | Afgeschaft in MongoDB 4.0 | |||
logout | Afgeschaft in MongoDB 5.0 | |||
Georuimtelijke opdrachten | geoSearch | Afgeschaft in MongoDB 5.0 | ||
Opdrachten voor queryplancache | ||||
Beheeropdrachten | cloneCollectionAsCapped | Nee, beperkte verzamelingen worden momenteel niet ondersteund. | ||
collMod | ||||
compact | ||||
convertToCapped | Aantal Beperkte verzamelingen worden momenteel niet ondersteund. | |||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | Als PaaS-service wordt dit beheerd door Azure. | |||
dropIndexes | ||||
filemd5 | ||||
fsync | Als PaaS-service wordt dit beheerd door Azure. | |||
fsyncUnlock | Als PaaS-service wordt dit beheerd door Azure. | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | Als PaaS-service wordt dit beheerd door Azure. | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | Als PaaS-service wordt dit beheerd door Azure. | |||
setFeatureCompatibilityVersion | Als PaaS-service wordt dit beheerd door Azure. | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
shutdown | Als PaaS-service wordt dit beheerd door Azure. | |||
Opdrachten voor gebruikers- en rolbeheer | Wordt momenteel niet ondersteund, maar wordt in de toekomst beschikbaar gesteld via Azure Active Directory. | |||
Replicatieopdrachten | Azure beheert replicatie, zodat klanten handmatig kunnen repliceren. | |||
Sharding-opdrachten | enableSharding | |||
isdbgrid | ||||
reshardCollection | ||||
shardCollection | ||||
unsetSharding | Afgeschaft in MongoDB 5.0 | |||
addShard | Als PaaS-aanbieding (Platform-as-a-Service) beheert Azure shard-beheer en herverdeling. Gebruikers hoeven alleen de shardingstrategie voor de verzamelingen op te geven en Azure verwerkt de rest. | |||
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 | ||||
Opdrachten voor query- en schrijfbewerkingen | change streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | Afgeschaft in MongoDB 5.1 | |||
getMore | ||||
insert | ||||
resetError | Afgeschaft in MongoDB 5.0 | |||
update | ||||
Sessieopdrachten | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
Diagnostische opdrachten | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | Als PaaS-service wordt dit beheerd door Azure. | |||
explain | ||||
features | Als PaaS-service wordt dit beheerd door Azure. | |||
getCmdLineOpts | ||||
getLog | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | Als PaaS-service wordt dit beheerd door Azure. | |||
serverStatus | ||||
shardConnPoolStats | Afgeschaft in MongoDB 5.0 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
Controleopdrachten voor systeem gebeurtenissen | logApplicationMessage |
Operators
Hieronder ziet u de lijst met operators die momenteel worden ondersteund in Azure Cosmos DB voor MongoDB vCore:
Notitie
AvgObjsize en grootte in 'collStats' en 'dbStats' werkt alleen met documentgrootte kleiner dan 2 KB.
Categorie | Command | Functie | ||
v5.0 | v6.0 | v7.0 | ||
Vergelijkingsqueryoperators | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
Operators voor logische query's | $and | |||
$not | ||||
$nor | ||||
$or | ||||
Operatoren voor elementquery's | $exists | |||
$type | ||||
Operators voor evaluatiequery's | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
Georuimtelijke operators | $geoIntersects | |||
$geoWithin | ||||
$box | ||||
$center | ||||
$centerSphere | ||||
$geometry | ||||
$maxDistance | ||||
$minDistance | ||||
$polygon | ||||
$near | ||||
$nearSphere | ||||
Operatoren voor matrixquery's | $all | |||
$elemMatch | ||||
$size | ||||
Bitsgewijze queryoperators | $bitsAllClear | |||
$bitsAllSet | ||||
$bitsAnyClear | ||||
$bitsAnySet | ||||
Projectieoperators | $ | |||
$elemMatch | ||||
$meta | ||||
$slice | ||||
Diverse queryoperators | $comment | |||
$rand | ||||
$natural | ||||
Operators voor veldupdates | $currentDate | |||
$inc | ||||
$min | ||||
$max | ||||
$mul | ||||
$rename | ||||
$set | ||||
$setOnInsert | ||||
$unset | ||||
Operatoren voor matrixupdates | $ | |||
$[] | ||||
$[identifier] | ||||
$addToSet | ||||
$pop | ||||
$pull | ||||
$push | ||||
$pullAll | ||||
$each | ||||
$position | ||||
$slice | ||||
$sort | ||||
Bitsgewijze updateoperators | $bit | |||
Operatoren voor rekenkundige expressies | $abs | |||
$add | ||||
$ceil | ||||
$divide | ||||
$exp | ||||
$floor | ||||
$ln | ||||
$log | ||||
$log10 | ||||
$mod | ||||
$multiply | ||||
$pow | ||||
$round | ||||
$sqrt | ||||
$subtract | ||||
$trunc | ||||
Operatoren voor matrixexpressies | $arrayElemAt | |||
$arrayToObject | ||||
$concatArrays | ||||
$filter | ||||
$firstN | ||||
$in | ||||
$indexOfArray | ||||
$isArray | ||||
$lastN | ||||
$map | ||||
$maxN | ||||
$minN | ||||
$objectToArray | ||||
$range | ||||
$reduce | ||||
$reverseArray | ||||
$size | ||||
$slice | ||||
$sortArray | ||||
$zip | ||||
Bitsgewijze operators | $bitAnd | |||
$bitNot | ||||
$bitOr | ||||
$bitXor | ||||
Booleaanse expressieoperators | $and | |||
$not | ||||
$or | ||||
Vergelijkingsexpressieoperators | $cmp | |||
$eq | ||||
$gt | ||||
$gte | ||||
$lt | ||||
$lte | ||||
$ne | ||||
Operatoren voor aangepaste aggregatie-expressies | Nog niet ondersteund. | |||
Operators voor gegevensgrootte | $bsonSize | |||
$binarySize | ||||
Operatoren voor datumexpressie | $dateAdd | |||
$dateDiff | ||||
$dateFromParts | ||||
$dateFromString | ||||
$dateSubtract | ||||
$dateToParts | ||||
$dateToString | ||||
$dateTrunc | ||||
$dayOfMonth | ||||
$dayOfWeek | ||||
$dayOfYear | ||||
$hour | ||||
$isoDayOfWeek | ||||
$isoWeek | ||||
$isoWeekYear | ||||
$millisecond | ||||
$minute | ||||
$month | ||||
$second | ||||
$toDate | ||||
$week | ||||
$year | ||||
Operator voor letterlijke expressie | $literal | |||
Diverse operators | $getField | |||
$rand | ||||
$sampleRate | ||||
Operatoren voor objectexpressies | $mergeObjects | |||
$objectToArray | ||||
$setField | ||||
Expressieoperators instellen | $allElementsTrue | |||
$anyElementTrue | ||||
$setDifference | ||||
$setEquals | ||||
$setIntersection | ||||
$setIsSubset | ||||
$setUnion | ||||
Operatoren voor tekenreeksexpressies | $concat | |||
$dateFromString | ||||
$dateToString | ||||
$indexOfBytes | ||||
$indexOfCP | ||||
$ltrim | ||||
$regexFind | ||||
$regexFindAll | ||||
$regexMatch | ||||
$replaceOne | ||||
$replaceAll | ||||
$rtrim | ||||
$split | ||||
$strLenBytes | ||||
$strLenCP | ||||
$strcasecmp | ||||
$substr | ||||
$substrBytes | ||||
$substrCP | ||||
$toLower | ||||
$toString | ||||
$trim | ||||
$toUpper | ||||
Operator voor tekstexpressie | $meta | |||
Operatoren voor tijdstempelexpressies | $tsIncrement | |||
$tsSecond | ||||
Operatoren voor trigonometrie-expressies | $sin | |||
$cos | ||||
$tan | ||||
$asin | ||||
$acos | ||||
$atan | ||||
$atan2 | ||||
$asinh | ||||
$acosh | ||||
$atanh | ||||
$sinh | ||||
$cosh | ||||
$tanh | ||||
$degreesToRadians | ||||
$radiansToDegrees | ||||
Operatoren voor typeexpressie | $convert | |||
$isNumber | ||||
$toBool | ||||
$toDate | ||||
$toDecimal | ||||
$toDouble | ||||
$toInt | ||||
$toLong | ||||
$toObjectId | ||||
$toString | ||||
$type | ||||
Accumulators ($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 | ||||
Accumulators (in andere fasen) | $avg | |||
$first | ||||
$last | ||||
$max | ||||
$median | ||||
$min | ||||
$percentile | ||||
$stdDevPop | ||||
$stdDevSamp | ||||
$sum | ||||
Operatoren voor variabeleexpressies | $let | |||
Vensteroperators | $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 | ||||
Operatoren voor voorwaardelijke expressie | $cond | |||
$ifNull | ||||
$switch | ||||
Aggregatiepijplijnfasen | $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 | ||||
Variabelen in aggregatie-expressies | NU | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
Indexen en indexeigenschappen
Azure Cosmos DB voor MongoDB vCore ondersteunt de volgende indexen en indexeigenschappen:
Notitie
Het maken van een unieke index verkrijgt een exclusieve vergrendeling voor de verzameling gedurende de gehele duur van het buildproces. Hiermee blokkeert u lees- en schrijfbewerkingen voor de verzameling totdat de bewerking is voltooid.
Indexen
Opdracht | Ondersteund |
Index met één veld | |
Samengestelde index | |
Index met meerdere sleutels | |
Tekstindex | |
Jokertekenindex | |
Georuimtelijke index | |
Gehashte index | |
Vector-index (alleen beschikbaar in Cosmos DB) | Ja, met vectorzoekopdrachten |
Indexeigenschappen
Opdracht | Ondersteund |
TTL | |
Uniek | |
Gedeeltelijk | |
Niet-hoofdlettergevoelig | |
Sparse | |
Achtergrond |