Partager via


Compatibilité et prise en charge des fonctionnalités MongoDB avec Azure Cosmos DB for MongoDB vCore

S’APPLIQUE À : MongoDB vCore

Azure Cosmos DB for MongoDB vCore vous permet d’expérimenter les avantages connus de MongoDB tout en accédant aux fonctionnalités d’entreprise avancées qu’offre Azure Cosmos DB. Il garantit la compatibilité en suivant le protocole filaire MongoDB, ce qui vous permet de tirer parti des pilotes clients, SDK et autres outils existants que vous connaissez déjà.

Prise en charge de protocole

Les opérateurs pris en charge, ainsi que les limitations ou exceptions sont répertoriés ici. Les pilotes clients comprenant ces protocoles doivent pouvoir se connecter à Azure Cosmos DB for MongoDB. Lorsque vous créez des clusters Azure Cosmos DB for MongoDB vCore, le point de terminaison est au format *.mongocluster.cosmos.azure.com.

Prise en charge du langage de requêtes

Azure Cosmos DB for MongoDB permet la prise en charge complète des constructions de langage de requête MongoDB. Vous trouverez ci-dessous la liste détaillée des commandes, opérateurs, phases et options de base de données actuellement pris en charge.

Remarque

Cet article liste uniquement les commandes de serveur prises en charge et exclut les fonctions wrapper côté client. Les fonctions wrapper côté client telles que deleteMany() et updateMany() utilisent en interne les commandes de serveur delete() et update(). Les fonctions utilisant des commandes de serveur prises en charge sont compatibles avec Azure Cosmos DB for MongoDB.

Commandes de base de données

Azure Cosmos DB for MongoDB vCore prend en charge les commandes de base de données suivantes :

CatégorieInterfaceFonctionnalité
v5.0v6.0v7.0
Commandes d’agrégationaggregateOuiOuiOui
countOuiOuiOui
distinctOuiOuiOui
mapReduceDéconseillé dans MongoDB 5.0
Commandes d’authentificationauthenticateOuiOuiOui
getnonceOuiOuiOui
logoutOuiOuiOui
Commandes géospatialesgeoSearchDéconseillé dans MongoDB 5.0
Commandes du cache du plan de requêteNonNonNon
Commandes administrativescloneCollectionAsCappedNonNon, les collections plafonnées ne sont pas prises en charge actuellement.
collModOuiOuiOui
compactNoNonNon
convertToCappedNonNo. Les collections limitées ne sont actuellement pas prises en charge.
createOuiOuiOui
createIndexesOuiOuiOui
currentOpOuiOuiOui
dropOuiOuiOui
dropDatabaseOuiOuiOui
dropConnectionsEn tant que service PaaS, cela sera managé par Azure.
dropIndexesOuiOuiOui
filemd5NoNonNon
fsyncEn tant que service PaaS, cela sera managé par Azure.
fsyncUnlockEn tant que service PaaS, cela sera managé par Azure.
getDefaultRWConcernOuiOuiOui
getClusterParameterNoNon
getParameterOuiOuiOui
killCursorsOuiOuiOui
killOpOuiOuiOui
listCollectionsOuiOuiOui
listDatabasesOuiOuiOui
listIndexesOuiOuiOui
logRotateEn tant que service PaaS, cela sera managé par Azure.
reIndexOuiOuiOui
renameCollectionOuiOuiOui
rotateCertificatesEn tant que service PaaS, cela sera managé par Azure.
setFeatureCompatibilityVersionEn tant que service PaaS, cela sera managé par Azure.
setIndexCommitQuorumNonNonNon
setParameterOuiOuiOui
setDefaultRWConcernNoNonNon
shutdownEn tant que service PaaS, cela sera managé par Azure.
Commandes de gestion d’utilisateurs et de rôlesNon prises en charge aujourd’hui, mais seront disponibles via Azure Active Directory à l’avenir.
Commandes de réplicationAzure gère la réplication, ce qui évite aux clients d’avoir à effectuer une réplication manuelle.
Commandes de partitionnementenableShardingOuiOuiOui
isdbgridOuiOuiOui
reshardCollectionOuiOuiOui
shardCollectionOuiOuiOui
unsetShardingDéconseillé dans MongoDB 5.0
addShardEn tant qu’offre PaaS (Platform-as-a-Service), Azure s’occupe de la gestion des partitions et du rééquilibrage. Les utilisateurs doivent uniquement spécifier la stratégie de partitionnement pour les collections et Azure gère le reste.
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
Commandes d’opérations de requête et d’écriturechange streamsNonNonNon
deleteOuiOuiOui
findOuiOuiOui
findAndModifyOuiOuiOui
getLastErrorOuiOuiOui
getMoreOuiOuiOui
insertOuiOuiOui
resetErrorDéconseillé dans MongoDB 5.0
updateOuiOuiOui
Commandes de sessionabortTransactionOuiOuiOui
commitTransactionOuiOuiOui
endSessionsOuiOuiOui
killAllSessionsNoNonNon
killAllSessionsByPatternNonNonNon
killSessionsOuiOuiOui
refreshSessionsNoNonNon
startSessionOuiOuiOui
Commandes de diagnosticavailableQueryOptionsNonNonNon
buildInfoOuiOuiOui
collStatsOuiOuiOui
connPoolStatsNoNonNon
connectionStatusOuiOuiOui
dataSizeNoNonNon
dbHashNonNonNon
dbStatsOuiOuiOui
driverOIDTestEn tant que service PaaS, cela sera managé par Azure.
explainOuiOuiOui
featuresEn tant que service PaaS, cela sera managé par Azure.
getCmdLineOptsOuiOuiOui
getLogOuiOuiOui
hostInfoOuiOuiOui
_isSelfNoNonNon
listCommandsOuiOuiOui
lockInfoNoNonNon
netstatNonNonNon
pingOuiOuiOui
profileEn tant que service PaaS, cela sera managé par Azure.
serverStatusOuiOuiOui
shardConnPoolStatsDéconseillé dans MongoDB 5.0
topNonNonNon
validateOuiOuiOui
whatsmyuriOuiOuiOui
Commandes d’audit des événements systèmelogApplicationMessageNonNonNon

Opérateurs

Voici la liste des opérateurs actuellement pris en charge sur Azure Cosmos DB for MongoDB vCore :

Remarque

L’agrégation $lookup ne prend pas encore en charge l’utilisation d’expressions variables à l’aide de ’let’. AvgObjsize – taille dans « collStats » et « dbStats » ne fonctionne qu’avec des documents dont la taille est inférieure à 2 Ko.

CatégorieInterfaceFonctionnalité
v5.0v6.0v7.0
Opérateurs de requête de comparaison$eqOuiOuiOui
$gtOuiOuiOui
$gteOuiOuiOui
$inOuiOuiOui
$ltOuiOuiOui
$lteOuiOuiOui
$neOuiOuiOui
$ninOuiOuiOui
Opérateurs de requête logique$andOuiOuiOui
$notOuiOuiOui
$norOuiOuiOui
$orOuiOuiOui
Opérateurs de requête d’élément$existsOuiOuiOui
$typeOuiOuiOui
Opérateurs de requête d’évaluation$exprOuiOuiOui
$jsonSchemaNoNonNon
$modOuiOuiOui
$regexOuiOuiOui
$textOuiOuiOui
$whereNoNonNon
Opérateurs géospatiaux$geoIntersectsOuiEn préversion
$geoWithin
$box
$center
$centerSphere
$geometry
$maxDistance
$minDistance
$polygon
$near
$nearSphere
Opérateurs de requête de tableau$allOuiOuiOui
$elemMatchOuiOuiOui
$sizeOuiOuiOui
Opérateurs de requête au niveau du bit$bitsAllClearOuiOuiOui
$bitsAllSetOuiOuiOui
$bitsAnyClearOuiOuiOui
$bitsAnySetOuiOuiOui
Opérateurs de projection$OuiOuiOui
$elemMatchOuiOuiOui
$metaOuiOuiOui
$sliceOuiOuiOui
Opérateurs de requête divers$commentNonNonNon
$randOuiOuiOui
$naturalNoNonNon
Opérateurs de mise à jour de champ$currentDateOuiOuiOui
$incOuiOuiOui
$minOuiOuiOui
$maxOuiOuiOui
$mulOuiOuiOui
$renameOuiOuiOui
$setOuiOuiOui
$setOnInsertOuiOuiOui
$unsetOuiOuiOui
Opérateurs de mise à jour de tableau$OuiOuiOui
$[]OuiOuiOui
$[identifier]OuiOuiOui
$addToSetOuiOuiOui
$popOuiOuiOui
$pullOuiOuiOui
$pushOuiOuiOui
$pullAllOuiOuiOui
$eachOuiOuiOui
$positionOuiOuiOui
$sliceOuiOuiOui
$sortOuiOuiOui
Opérateurs de mise à jour au niveau du bit$bitOuiOuiOui
Opérateurs d’expression arithmétique$absOuiOuiOui
$addOuiOuiOui
$ceilOuiOuiOui
$divideOuiOuiOui
$expOuiOuiOui
$floorOuiOuiOui
$lnOuiOuiOui
$logOuiOuiOui
$log10OuiOuiOui
$modOuiOuiOui
$multiplyOuiOuiOui
$powOuiOuiOui
$roundOuiOuiOui
$sqrtOuiOuiOui
$subtractOuiOuiOui
$truncOuiOuiOui
Opérateurs d’expression de tableau$arrayElemAtOuiOuiOui
$arrayToObjectOuiOuiOui
$concatArraysOuiOuiOui
$filterOuiOuiOui
$firstNOuiOuiOui
$inOuiOuiOui
$indexOfArrayOuiOuiOui
$isArrayOuiOuiOui
$lastNOuiOuiOui
$mapOuiOuiOui
$maxNNoNon
$minNNonNon
$objectToArrayOuiOuiOui
$rangeOuiOuiOui
$reduceOuiOuiOui
$reverseArrayOuiOuiOui
$sizeOuiOuiOui
$sliceOuiOuiOui
$sortArrayNoNon
$zipNonNonNon
Opérateurs au niveau du bit$bitAndOuiOuiOui
$bitNotOuiOuiOui
$bitOrOuiOuiOui
$bitXorOuiOuiOui
Opérateurs d’expression booléenne$andOuiOuiOui
$notOuiOuiOui
$orOuiOuiOui
Opérateurs d’expression de comparaison$cmpOuiOuiOui
$eqOuiOuiOui
$gtOuiOuiOui
$gteOuiOuiOui
$ltOuiOuiOui
$lteOuiOuiOui
$neOuiOuiOui
Opérateurs d’expression d’agrégation personnaliséePas encore pris en charge.
Opérateurs de taille de données$bsonSizeOuiOuiOui
$binarySizeOuiOuiOui
Opérateurs d’expression de date$dateAddOuiOuiOui
$dateDiffOuiOuiOui
$dateFromPartsOuiOuiOui
$dateFromStringOuiOuiOui
$dateSubtractOuiOuiOui
$dateToPartsOuiOuiOui
$dateToStringOuiOuiOui
$dateTruncOuiOuiOui
$dayOfMonthOuiOuiOui
$dayOfWeekOuiOuiOui
$dayOfYearOuiOuiOui
$hourOuiOuiOui
$isoDayOfWeekOuiOuiOui
$isoWeekOuiOuiOui
$isoWeekYearOuiOuiOui
$millisecondOuiOuiOui
$minuteOuiOuiOui
$monthOuiOuiOui
$secondOuiOuiOui
$toDateOuiOuiOui
$weekOuiOuiOui
$yearOuiOuiOui
Opérateur d’expression littérale$literalOuiOuiOui
Opérateurs divers$getFieldNonNonNon
$randOuiOuiOui
$sampleRateNoNonNon
Opérateurs d’expression d’objet$mergeObjectsOuiOuiOui
$objectToArrayOuiOuiOui
$setFieldOuiOuiOui
Opérateurs d’expression d’ensemble$allElementsTrueOuiOuiOui
$anyElementTrueOuiOuiOui
$setDifferenceOuiOuiOui
$setEqualsOuiOuiOui
$setIntersectionOuiOuiOui
$setIsSubsetOuiOuiOui
$setUnionOuiOuiOui
Opérateurs d’expression de chaîne$concatOuiOuiOui
$dateFromStringNoNonNon
$dateToStringOuiOuiOui
$indexOfBytesOuiOuiOui
$indexOfCPOuiOuiOui
$ltrimOuiOuiOui
$regexFindOuiOuiOui
$regexFindAllOuiOuiOui
$regexMatchOuiOuiOui
$replaceOneOuiOuiOui
$replaceAllOuiOuiOui
$rtrimOuiOuiOui
$splitOuiOuiOui
$strLenBytesOuiOuiOui
$strLenCPOuiOuiOui
$strcasecmpOuiOuiOui
$substrOuiOuiOui
$substrBytesOuiOuiOui
$substrCPOuiOuiOui
$toLowerOuiOuiOui
$toStringOuiOuiOui
$trimOuiOuiOui
$toUpperOuiOuiOui
Opérateur d’expression de texte$metaOuiOuiOui
Opérateurs d’expression d’horodatage$tsIncrementOuiOuiOui
$tsSecondOuiOuiOui
Opérateurs d’expression trigonométriquePas encore pris en charge.
Opérateurs d’expression de type$convertOuiOuiOui
$isNumberOuiOuiOui
$toBoolOuiOuiOui
$toDateOuiOuiOui
$toDecimalOuiOuiOui
$toDoubleOuiOuiOui
$toIntOuiOuiOui
$toLongOuiOuiOui
$toObjectIdOuiOuiOui
$toStringOuiOuiOui
$typeOuiOuiOui
Accumulateurs ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNonNonNon
$addToSetOuiOuiOui
$avgOuiOuiOui
$bottomNoNon
$bottomNNonNon
$countOuiOuiOui
$firstOuiOuiOui
$firstNOuiOuiOui
$lastOuiOuiOui
$lastNOuiOuiOui
$maxOuiOuiOui
$maxNNoNon
$medianNonNonNon
$mergeObjectsOuiOuiOui
$minOuiOuiOui
$percentileNoNonNon
$pushOuiOuiOui
$stdDevPopNoNonNon
$stdDevSampNonNonNon
$sumOuiOuiOui
$topNoNon
$topNNonNon
Accumulateurs (dans d’autres phases)$avgNonNonNon
$firstOuiOuiOui
$lastOuiOuiOui
$maxNoNonNon
$medianNonNonNon
$minNonNonNon
$percentileNonNonNon
$stdDevPopNonNonNon
$stdDevSampNonNonNon
$sumNonNonNon
Opérateurs d’expression de variablePas encore pris en charge.
Opérateurs de fenêtrePas encore pris en charge.
Opérateurs d’expression conditionnelle$condOuiOuiOui
$ifNullOuiOuiOui
$switchOuiOuiOui
Phases des pipelines d’agrégation$addFieldsOuiOuiOui
$bucketNoNonNon
$bucketAutoNonNonNon
$changeStreamNonNonNon
$changeStreamSplitLargeEventNonNonNon
$collStatsOuiOuiOui
$countOuiOuiOui
$densifyNoNon
$documentsNonNon
$facetOuiOuiOui
$fillNoNon
$geoNearOuiOuiOui
$graphLookupOuiOuiOui
$groupOuiOuiOui
$indexStatsOuiOuiOui
$limitOuiOuiOui
$listSampledQueriesNoNonNon
$listSearchIndexesNonNonNon
$listSessionsNonNonNon
$lookupOuiOuiOui
$matchOuiOuiOui
$mergeNoNonNon
$outNonNonNon
$planCacheStatsNonNonNon
$projectOuiOuiOui
$redactNoNonNon
$replaceRootOuiOuiOui
$replaceWithOuiOuiOui
$sampleOuiOuiOui
$searchOuiOuiOui
$searchMetaOuiOuiOui
$setOuiOuiOui
$setWindowFieldsNoNonNon
$skipOuiOuiOui
$sortOuiOuiOui
$sortByCountOuiOuiOui
$unionWithNoNonNon
$unsetOuiOuiOui
$unwindOuiOuiOui
$shardedDataDistributionNoNonNon
$changeStreamNonNonNon
$currentOpOuiOuiOui
$listLocalSessionsNoNonNon
$documentsNonNonN°
Variables dans les expressions d’agrégationMAINTENANTNonNonNon
ROOTOuiOuiOui
REMOVEOuiOuiOui
CURRENTOuiOuiOui
CLUSTER_TIMENoNonNon
DESCENDNonNonNon
PRUNENonNonNon
KEEPNonNonNon
SEARCH_METANonNonNon
USER_ROLESNonNonNon

Index et propriétés d’index

Azure Cosmos DB for MongoDB vCore prend en charge les index et propriétés d’index suivants :

Notes

La création d’un index unique reçoit un verrou exclusif au niveau de la collection pendant toute la durée du processus de génération. Cela bloque les opérations de lecture et d’écriture au niveau de la collection jusqu’à la fin de l’opération.

Index

CommandePrise en charge
Index à champ uniqueOui
Index composéOui
Index à plusieurs clésOui
Index de texteOui
Index à caractère génériqueOui
Index géospatialOuiEn préversion*
Index de hachageOui
Index vectoriel (disponible uniquement dans Cosmos DB)Oui Oui, avec la recherche vectorielle

Propriétés d’index

CommandePrise en charge
TTLOui
UniqueOui
PartielOui
Insensible à la casseNon
Partiellement allouéOui
Arrière-planOui

Étapes suivantes