Compatibilidade e suporte a recursos do MongoDB com o Azure Cosmos DB for MongoDB vCore

APLICA-SE AO: MongoDB vCore

O Azure Cosmos DB for MongoDB vCore permite que você experimente as vantagens familiares do MongoDB ao acessar os recursos corporativos aprimorados oferecidos pelo Azure Cosmos DB. Ele garante a compatibilidade seguindo o protocolo de transmissão do MongoDB, permitindo que você aproveite drivers de cliente, SDKs e outras ferramentas existentes com as quais você já está familiarizado.

Suporte a protocolo

Os operadores com suporte e quaisquer limitações ou exceções estão listadas aqui. Qualquer driver cliente que seja compatível com esses protocolos poderá se conectar ao Azure Cosmos DB for MongoDB. Quando você cria clusters do vCore do Azure Cosmos DB for MongoDB, o ponto de extremidade está no formato *.mongocluster.cosmos.azure.com.

Suporte de linguagem de consulta

O Azure Cosmos DB for MongoDB oferece um suporte abrangente para constructos de linguagem de consulta do MongoDB. Abaixo, você pode encontrar a lista detalhada de comandos, operadores, estágios e opções de banco de dados com suporte no momento.

Observação

Este artigo lista apenas os comandos de servidor com suporte e exclui as funções de wrapper do lado do cliente. Funções de wrapper do lado do cliente, como deleteMany() e updateMany(), utilizam internamente os comandos de servidor delete() e update(). As funções que utilizam comandos de servidor com suporte são compatíveis com o Azure Cosmos DB for MongoDB.

Comandos de banco de dados

O Azure Cosmos DB for MongoDB vCore é compatível com os seguintes comandos de banco de dados:

CategoriaComandoRecurso
v5.0v6.0v7.0
Comandos de agregaçãoagregadoSimSimSim
countSimSimSim
distinctSimSimYes
mapReducePreterido no MongoDB 5.0
Comandos de autenticaçãoauthenticateSimSimSim
getnonceDescontinuado no MongoDB 4.0
logoutPreterido no MongoDB 5.0
Comandos geoespaciaisgeoSearchPreterido no MongoDB 5.0
Comandos de cache do plano de consultaNãoNoNão
Comandos administrativoscloneCollectionAsCappedNãoAtualmente, não há suporte para coleções limitadas.
collModSimSimSim
compactNãoNoNão
convertToCappedNãoN° Atualmente, não há suporte para coleções limitadas.
createSimSimSim
createIndexesSimSimSim
currentOpSimSimSim
dropSimSimSim
dropDatabaseSimSimYes
dropConnectionsComo um serviço de PaaS, isso será gerenciado pelo Azure.
dropIndexesSimSimSim
filemd5NãoNoNão
fsyncComo um serviço de PaaS, isso será gerenciado pelo Azure.
fsyncUnlockComo um serviço de PaaS, isso será gerenciado pelo Azure.
getDefaultRWConcernSimSimSim
getClusterParameterNãoNo
getParameterSimSimSim
killCursorsSimSimSim
killOpSimSimSim
listCollectionsSimSimSim
listDatabasesSimSimSim
listIndexesSimSimYes
logRotateComo um serviço de PaaS, isso será gerenciado pelo Azure.
reIndexSimSimSim
renameCollectionSimSimYes
rotateCertificatesComo um serviço de PaaS, isso será gerenciado pelo Azure.
setFeatureCompatibilityVersionComo um serviço de PaaS, isso será gerenciado pelo Azure.
setIndexCommitQuorumNãoNoNo
setParameterSimSimSim
setDefaultRWConcernNãoNoNão
shutdownComo um serviço de PaaS, isso será gerenciado pelo Azure.
Comandos de Gerenciamento de Função e UsuárioNão há suporte hoje, mas será disponibilizado por meio do Azure Active Directory no futuro.
Comandos de replicaçãoO Azure gerencia a replicação, removendo a necessidade de os clientes replicarem manualmente.
Comandos de fragmentaçãoenableShardingSimSimSim
isdbgridSimSimSim
reshardCollectionSimSimSim
shardCollectionSimSimYes
unsetShardingPreterido no MongoDB 5.0
addShardComo uma oferta de PaaS (Plataforma como Serviço), o Azure gerencia o gerenciamento e o reequilíbrio de fragmentos. Os usuários só precisam especificar a estratégia de fragmentação para as coleções e o Azure manipulará o restante.
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
Comandos de operação de consulta e gravaçãochange streamsNãoNoNo
deleteSimSimSim
findSimSimSim
findAndModifySimSimSim
getLastErrorDescontinuado no MongoDB 5.1
getMoreSimSimSim
insertSimSimYes
resetErrorPreterido no MongoDB 5.0
updateSimSimYes
Comandos de sessãoabortTransactionSimSimSim
commitTransactionSimSimSim
endSessionsSimSimSim
killAllSessionsNãoNoNo
killAllSessionsByPatternNoNoNo
killSessionsSimSimSim
refreshSessionsNãoNoNo
startSessionSimSimYes
Comandos de diagnósticoavailableQueryOptionsNãoNoNo
buildInfoSimSimSim
collStatsSimSimSim
connPoolStatsNãoNoNo
connectionStatusSimSimSim
dataSizeNãoNoNo
dbHashNoNoNo
dbStatsSimSimYes
driverOIDTestComo um serviço de PaaS, isso será gerenciado pelo Azure.
explainSimSimYes
featuresComo um serviço de PaaS, isso será gerenciado pelo Azure.
getCmdLineOptsSimSimSim
getLogSimSimSim
helloSimSimSim
hostInfoSimSimSim
_isSelfNãoNoNo
listCommandsSimSimSim
lockInfoNãoNoNo
netstatNoNoNo
pingSimSimYes
profileComo um serviço de PaaS, isso será gerenciado pelo Azure.
serverStatusNãoNoNo
shardConnPoolStatsPreterido no MongoDB 5.0
topNãoNoNo
validateSimSimSim
whatsmyuriSimSimYes
Comandos de auditoria de eventos do sistemalogApplicationMessageNãoNoNão

Operadores

Veja abaixo a lista de operadores com suporte no Azure Cosmos DB for MongoDB vCore:

Observação

AvgObjsize e tamanho em “collStats” e “dbStats” funciona com tamanho de documento menor que 2KB apenas.

CategoriaComandoRecurso
v5.0v6.0v7.0
Operadores de consulta de comparação$eqSimSimSim
$gtSimSimSim
$gteSimSimSim
$inSimSimSim
$ltSimSimSim
$lteSimSimSim
$neSimSimSim
$ninSimSimYes
Operadores de consulta lógica$andSimSimSim
$notSimSimSim
$norSimSimSim
$orSimSimYes
Operadores de consulta de elemento$existsSimSimSim
$typeSimSimSim
Operadores de consulta de avaliação$exprSimSimSim
$jsonSchemaNãoNoNo
$modSimSimSim
$regexSimSimSim
$textSimSimSim
$whereNãoNoNão
Operadores geoespaciais$geoIntersectsSimSimSim
$geoWithinSimSimSim
$boxSimSimSim
$centerSimSimSim
$centerSphereSimSimSim
$geometrySimSimSim
$maxDistanceSimSimSim
$minDistanceSimSimSim
$polygonSimSimSim
$nearSimSimSim
$nearSphereSimSimSim
Operadores de consulta de matriz$allSimSimSim
$elemMatchSimSimSim
$sizeSimSimYes
Operadores de consulta bit a bit$bitsAllClearSimSimSim
$bitsAllSetSimSimSim
$bitsAnyClearSimSimSim
$bitsAnySetSimSimYes
Operadores de projeção$SimSimSim
$elemMatchSimSimSim
$metaSimSimSim
$sliceSimSimYes
Operadores de consulta diversos$commentNãoNoNo
$randSimSimSim
$naturalNãoNoNão
Operadores de atualização de campo$currentDateSimSimSim
$incSimSimSim
$minSimSimSim
$maxSimSimSim
$mulSimSimSim
$renameSimSimSim
$setSimSimSim
$setOnInsertSimSimSim
$unsetSimSimSim
Operadores de atualização de matriz$SimSimSim
$[]SimSimSim
$[identifier]SimSimSim
$addToSetSimSimSim
$popSimSimSim
$pullSimSimSim
$pushSimSimSim
$pullAllSimSimSim
$eachSimSimSim
$positionSimSimSim
$sliceSimSimSim
$sortSimSimYes
Operadores de atualização bit a bit$bitSimSimYes
Operadores de expressão aritmética$absSimSimSim
$addSimSimSim
$ceilSimSimSim
$divideSimSimSim
$expSimSimSim
$floorSimSimSim
$lnSimSimSim
$logSimSimSim
$log10SimSimSim
$modSimSimSim
$multiplySimSimSim
$powSimSimSim
$roundSimSimSim
$sqrtSimSimSim
$subtractSimSimSim
$truncSimSimYes
Operadores de expressão de matriz$arrayElemAtSimSimSim
$arrayToObjectSimSimSim
$concatArraysSimSimSim
$filterSimSimSim
$firstNSimSimSim
$inSimSimSim
$indexOfArraySimSimSim
$isArraySimSimSim
$lastNSimSimSim
$mapSimSimSim
$maxNSimSim
$minNSimSim
$objectToArraySimSimSim
$rangeSimSimSim
$reduceSimSimSim
$reverseArraySimSimSim
$sizeSimSimSim
$sliceSimSimSim
$sortArraySimSim
$zipSimSimSim
Operadores bit a bit$bitAndSimSimSim
$bitNotSimSimSim
$bitOrSimSimSim
$bitXorSimSimYes
Operadores de expressão booliana$andSimSimSim
$notSimSimSim
$orSimSimYes
Operadores de expressão de comparação$cmpSimSimSim
$eqSimSimSim
$gtSimSimSim
$gteSimSimSim
$ltSimSimSim
$lteSimSimSim
$neSimSimYes
Operadores de expressão de agregação personalizadaAinda não há suporte.
Operadores de tamanho de dados$bsonSizeSimSimSim
$binarySizeSimSimYes
Operadores de expressão de data$dateAddSimSimSim
$dateDiffSimSimSim
$dateFromPartsSimSimSim
$dateFromStringSimSimSim
$dateSubtractSimSimSim
$dateToPartsSimSimSim
$dateToStringSimSimSim
$dateTruncSimSimSim
$dayOfMonthSimSimSim
$dayOfWeekSimSimSim
$dayOfYearSimSimSim
$hourSimSimSim
$isoDayOfWeekSimSimSim
$isoWeekSimSimSim
$isoWeekYearSimSimSim
$millisecondSimSimSim
$minuteSimSimSim
$monthSimSimSim
$secondSimSimSim
$toDateSimSimSim
$weekSimSimSim
$yearSimSimYes
Operador de expressão literal$literalSimSimYes
Operadores diversos$getFieldSimSimSim
$randSimSimSim
$sampleRateSimSimSim
Operadores de expressão de objeto$mergeObjectsSimSimSim
$objectToArraySimSimSim
$setFieldSimSimYes
Definir operadores de expressão$allElementsTrueSimSimSim
$anyElementTrueSimSimSim
$setDifferenceSimSimSim
$setEqualsSimSimSim
$setIntersectionSimSimSim
$setIsSubsetSimSimSim
$setUnionSimSimYes
Operadores de expressão de cadeia de caracteres$concatSimSimSim
$dateFromStringSimSimSim
$dateToStringSimSimSim
$indexOfBytesSimSimSim
$indexOfCPSimSimSim
$ltrimSimSimSim
$regexFindSimSimSim
$regexFindAllSimSimSim
$regexMatchSimSimSim
$replaceOneSimSimSim
$replaceAllSimSimSim
$rtrimSimSimSim
$splitSimSimSim
$strLenBytesSimSimSim
$strLenCPSimSimSim
$strcasecmpSimSimSim
$substrSimSimSim
$substrBytesSimSimSim
$substrCPSimSimSim
$toLowerSimSimSim
$toStringSimSimSim
$trimSimSimSim
$toUpperSimSimYes
Operador de expressão de texto$metaSimSimYes
Operadores de expressão de carimbo de data/hora$tsIncrementSimSimSim
$tsSecondSimSimYes
Operadores de expressão trigonometria$sinSimSimSim
$cosSimSimSim
$tanSimSimSim
$asinSimSimSim
$acosSimSimSim
$atanSimSimSim
$atan2SimSimSim
$asinhSimSimSim
$acoshSimSimSim
$atanhSimSimSim
$sinhSimSimSim
$coshSimSimSim
$tanhSimSimSim
$degreesToRadiansSimSimSim
$radiansToDegreesSimSimSim
Operadores de expressão de tipo$convertSimSimSim
$isNumberSimSimSim
$toBoolSimSimSim
$toDateSimSimSim
$toDecimalSimSimSim
$toDoubleSimSimSim
$toIntSimSimSim
$toLongSimSimSim
$toObjectIdSimSimSim
$toStringSimSimSim
$typeSimSimYes
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNãoNoNo
$addToSetSimSimSim
$avgSimSimSim
$bottomSimSim
$bottomNSimSim
$countSimSimSim
$firstSimSimSim
$firstNSimSimSim
$lastSimSimSim
$lastNSimSimSim
$maxSimSimSim
$maxNSimSim
$medianNãoNoNo
$mergeObjectsSimSimSim
$minSimSimSim
$percentileNãoNoNo
$pushSimSimSim
$stdDevPopSimSimSim
$stdDevSampSimSimSim
$sumSimSimSim
$topSimSim
$topNSimSim
Acumuladores (em outros estágios)$avgSimSimSim
$firstSimSimSim
$lastSimSimSim
$maxSimSimSim
$medianNãoNoNo
$minSimSimSim
$percentileNãoNoNo
$stdDevPopSimSimSim
$stdDevSampSimSimSim
$sumSimSimSim
Operadores de expressão variável$letSimSimSim
Operadores de janela$sumSimSimSim
$pushSimSimSim
$addToSetSimSimSim
$countSimSimSim
$maxSimSimSim
$minSimSimSim
$avgSimSimSim
$stdDevPopSimSimSim
$bottomSimSimSim
$bottomNSimSimSim
$covariancePopSimSimSim
$covarianceSampSimSimSim
$denseRankSimSimSim
$derivativeSimSimSim
$documentNumberSimSimSim
$expMovingAvgSimSimSim
$firstSimSimSim
$integralSimSimSim
$lastSimSimSim
$linearFillSimSimSim
$locfSimSimSim
$minNSimSimSim
$rankSimSimSim
$shiftSimSimSim
$stdDevSampSimSimSim
$topSimSimSim
$topNSimSimSim
Operadores de expressão condicional$condSimSimSim
$ifNullSimSimSim
$switchSimSimYes
Estágios de pipeline de agregação$addFieldsSimSimSim
$bucketSimSimSim
$bucketAutoNãoNoNo
$changeStreamNoNoNo
$changeStreamSplitLargeEventNoNoNo
$collStatsSimSimSim
$countSimSimSim
$densifySimSim
$documentsNãoNo
$facetSimSimSim
$fillSimSim
$geoNearSimSimSim
$graphLookupSimSimSim
$groupSimSimSim
$indexStatsSimSimSim
$limitSimSimSim
$listSampledQueriesNãoNoNo
$listSearchIndexesNoNoNo
$listSessionsNoNoNo
$lookupSimSimSim
$matchSimSimSim
$mergeSimSimSim
$outSimSimSim
$planCacheStatsNãoNoNo
$projectSimSimSim
$redactNãoNoNo
$replaceRootSimSimSim
$replaceWithSimSimSim
$sampleSimSimSim
$searchSimSimSim
$searchMetaSimSimSim
$setSimSimSim
$setWindowFieldsSimSimSim
$skipSimSimSim
$sortSimSimSim
$sortByCountSimSimSim
$unionWithNãoNoNo
$unsetSimSimSim
$unwindSimSimSim
$shardedDataDistributionNãoNoNo
$changeStreamNoNoNo
$currentOpSimSimSim
$listLocalSessionsNãoNoNo
$documentsNoNoNúmero
Variáveis em expressões de agregaçãoAGORANãoNoNo
ROOTSimSimSim
REMOVESimSimSim
CURRENTSimSimSim
CLUSTER_TIMENãoNoNo
DESCENDNoNoNo
PRUNENoNoNo
KEEPNoNoNo
SEARCH_METANoNoNo
USER_ROLESNoNoNo

Índices e propriedades de índice

O Azure Cosmos DB for MongoDB vCore dá suporte aos seguintes índices e propriedades de índice:

Observação

A criação de um índice exclusivo obtém um bloqueio exclusivo na coleção por toda a duração do processo de compilação. Isso bloqueia as operações de leitura e gravação na coleção até que a operação seja concluída.

Índices

ComandoCom suporte
Índice de campo únicoSim
Índice compostoSim
Índice de várias chavesSim
Índice de textoSim
Índice curingaSim
Índice geoespacialSim
Índice de hashSim
Índice de Vetor (disponível apenas no Cosmos DB)YesSim, com a pesquisa de vetor

Propriedades de índice

ComandoCom suporte
TTLSim
ExclusivoSim
PartialSim
Não diferencia maiúsculas de minúsculasNão
EsparsosSim
Tela de fundoSim

Próximas etapas