Partilhar via


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

APLICA-SE A: MongoDB vCore

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

Suporte de protocolo

Os operadores suportados e quaisquer limitações ou exceções estão listados aqui. Qualquer driver de cliente que compreenda esses protocolos deve ser capaz de se conectar ao Azure Cosmos DB para MongoDB. Quando você cria o Azure Cosmos DB para clusters vCore do MongoDB, o ponto de extremidade está no formato *.mongocluster.cosmos.azure.com.

Suporte à linguagem de consulta

O Azure Cosmos DB para MongoDB fornece suporte abrangente para construções de linguagem de consulta MongoDB. Abaixo, você pode encontrar a lista detalhada de comandos, operadores, estágios e opções de banco de dados atualmente suportados.

Nota

Este artigo lista apenas os comandos de servidor suportados 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 delete() comandos e update() servidor. As funções que utilizam comandos de servidor suportados são compatíveis com o Azure Cosmos DB para MongoDB.

Comandos da base de dados

O Azure Cosmos DB para MongoDB vCore suporta os seguintes comandos de banco de dados:

CategoriaComandoFuncionalidade
v5,0v6,0v7,0
Comandos de agregaçãoagregadoSimSimSim
countSimSimSim
distinctSimSimSim
mapReducePreterido no MongoDB 5.0
Comandos de autenticaçãoauthenticateSimSimSim
getnoncePreterido no MongoDB 4.0
logoutPreterido no MongoDB 5.0
Comandos GeoespaciaisgeoSearchPreterido no MongoDB 5.0
Comandos de cache do plano de consultaNoNoNão
Comandos administrativoscloneCollectionAsCappedNãoNão, coleções limitadas não são suportadas no momento.
collModSimSimSim
compactNoNoNão
convertToCappedNãoNão. No momento, não há suporte para coleções limitadas.
createSimSimSim
createIndexesSimSimSim
currentOpSimSimSim
dropSimSimSim
dropDatabaseSimSimSim
dropConnectionsComo um serviço PaaS, isso será gerenciado pelo Azure.
dropIndexesSimSimSim
filemd5NoNoNão
fsyncComo um serviço PaaS, isso será gerenciado pelo Azure.
fsyncUnlockComo um serviço PaaS, isso será gerenciado pelo Azure.
getDefaultRWConcernSimSimSim
getClusterParameterNoNo
getParameterSimSimSim
killCursorsSimSimSim
killOpSimSimSim
listCollectionsSimSimSim
listDatabasesSimSimSim
listIndexesSimSimSim
logRotateComo um serviço PaaS, isso será gerenciado pelo Azure.
reIndexSimSimSim
renameCollectionSimSimSim
rotateCertificatesComo um serviço PaaS, isso será gerenciado pelo Azure.
setFeatureCompatibilityVersionComo um serviço PaaS, isso será gerenciado pelo Azure.
setIndexCommitQuorumNoNoNo
setParameterSimSimSim
setDefaultRWConcernNoNoNão
shutdownComo um serviço PaaS, isso será gerenciado pelo Azure.
Usuário & Comandos de gerenciamento de funçãoNão tem suporte hoje, mas será disponibilizado por meio do Azure Ative Directory no futuro.
Comandos de replicaçãoO Azure gerencia a replicação, eliminando a necessidade de os clientes replicarem manualmente.
Comandos de compartilhamentoenableShardingSimSimSim
isdbgridSimSimSim
reshardCollectionSimSimSim
shardCollectionSimSimSim
unsetShardingPreterido no MongoDB 5.0
addShardComo uma oferta de plataforma como serviço (PaaS), 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 tratará do resto.
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 streamsNoNoNo
deleteSimSimSim
findSimSimSim
findAndModifySimSimSim
getLastErrorPreterido no MongoDB 5.1
getMoreSimSimSim
insertSimSimSim
resetErrorPreterido no MongoDB 5.0
updateSimSimSim
Comandos de sessãoabortTransactionSimSimSim
commitTransactionSimSimSim
endSessionsSimSimSim
killAllSessionsNoNoNo
killAllSessionsByPatternNoNoNo
killSessionsSimSimSim
refreshSessionsNoNoNo
startSessionSimSimSim
Comandos de diagnósticoavailableQueryOptionsNoNoNo
buildInfoSimSimSim
collStatsSimSimSim
connPoolStatsNoNoNo
connectionStatusSimSimSim
dataSizeNoNoNo
dbHashNoNoNo
dbStatsSimSimSim
driverOIDTestComo um serviço PaaS, isso será gerenciado pelo Azure.
explainSimSimSim
featuresComo um serviço PaaS, isso será gerenciado pelo Azure.
getCmdLineOptsSimSimSim
getLogSimSimSim
helloSimSimSim
hostInfoSimSimSim
_isSelfNoNoNo
listCommandsSimSimSim
lockInfoNoNoNo
netstatNoNoNo
pingSimSimSim
profileComo um serviço PaaS, isso será gerenciado pelo Azure.
serverStatusNoNoNão
shardConnPoolStatsPreterido no MongoDB 5.0
topNoNoNo
validateSimSimSim
whatsmyuriSimSimSim
Comandos de auditoria de eventos do sistemalogApplicationMessageNoNoNão

Operadores

Abaixo está a lista de operadores atualmente suportados no Azure Cosmos DB para MongoDB vCore:

Nota

AvgObjsize e tamanho em "collStats" & "dbStats" funciona apenas com tamanho de documento inferior a 2KB.

CategoriaComandoFuncionalidade
v5,0v6,0v7,0
Operadores de consulta de comparação$eqSimSimSim
$gtSimSimSim
$gteSimSimSim
$inSimSimSim
$ltSimSimSim
$lteSimSimSim
$neSimSimSim
$ninSimSimSim
Operadores de consulta lógica$andSimSimSim
$notSimSimSim
$norSimSimSim
$orSimSimSim
Operadores de consulta de elemento$existsSimSimSim
$typeSimSimSim
Operadores de consulta de avaliação$exprSimSimSim
$jsonSchemaNoNoNo
$modSimSimSim
$regexSimSimSim
$textSimSimSim
$whereNoNoNão
Operadores Geoespaciais$geoIntersectsSimSimSim
$geoWithinSimSimSim
$boxSimSimSim
$centerSimSimSim
$centerSphereSimSimSim
$geometrySimSimSim
$maxDistanceSimSimSim
$minDistanceSimSimSim
$polygonSimSimSim
$nearSimSimSim
$nearSphereSimSimSim
Operadores de consulta de matriz$allSimSimSim
$elemMatchSimSimSim
$sizeSimSimSim
Operadores de consulta Bitwise$bitsAllClearSimSimSim
$bitsAllSetSimSimSim
$bitsAnyClearSimSimSim
$bitsAnySetSimSimSim
Operadores de Projeção$SimSimSim
$elemMatchSimSimSim
$metaNoNoNo
$sliceSimSimSim
Operadores de consulta diversos$commentSimSimSim
$randSimSimSim
$naturalNoNoNã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
$sortSimSimSim
Operadores de atualização Bitwise$bitSimSimSim
Operadores de expressão aritmética$absSimSimSim
$addSimSimSim
$ceilSimSimSim
$divideSimSimSim
$expSimSimSim
$floorSimSimSim
$lnSimSimSim
$logSimSimSim
$log10SimSimSim
$modSimSimSim
$multiplySimSimSim
$powSimSimSim
$roundSimSimSim
$sqrtSimSimSim
$subtractSimSimSim
$truncSimSimSim
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 Bitwise$bitAndSimSimSim
$bitNotSimSimSim
$bitOrSimSimSim
$bitXorSimSimSim
Operadores de expressão booleana$andSimSimSim
$notSimSimSim
$orSimSimSim
Operadores de expressão de comparação$cmpSimSimSim
$eqSimSimSim
$gtSimSimSim
$gteSimSimSim
$ltSimSimSim
$lteSimSimSim
$neSimSimSim
Operadores de expressão de agregação personalizadaAinda não suportado.
Operadores de tamanho de dados$bsonSizeSimSimSim
$binarySizeSimSimSim
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
$yearSimSimSim
Operador de expressão literal$literalSimSimSim
Operadores Diversos$getFieldSimSimSim
$randSimSimSim
$sampleRateSimSimSim
Operadores de expressão de objeto$mergeObjectsSimSimSim
$objectToArraySimSimSim
$setFieldSimSimSim
Definir operadores de expressão$allElementsTrueSimSimSim
$anyElementTrueSimSimSim
$setDifferenceSimSimSim
$setEqualsSimSimSim
$setIntersectionSimSimSim
$setIsSubsetSimSimSim
$setUnionSimSimSim
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
$toUpperSimSimSim
Operador de expressão de texto$metaNoNoNão
Operadores de expressão de carimbo de data/hora$tsIncrementSimSimSim
$tsSecondSimSimSim
Operadores de expressão de 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
$typeSimSimSim
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNoNoNo
$addToSetSimSimSim
$avgSimSimSim
$bottomSimSim
$bottomNSimSim
$countSimSimSim
$firstSimSimSim
$firstNSimSimSim
$lastSimSimSim
$lastNSimSimSim
$maxSimSimSim
$maxNSimSim
$medianNoNoNo
$mergeObjectsSimSimSim
$minSimSimSim
$percentileNoNoNo
$pushSimSimSim
$stdDevPopSimSimSim
$stdDevSampSimSimSim
$sumSimSimSim
$topSimSim
$topNSimSim
Acumuladores (noutras fases)$avgSimSimSim
$firstSimSimSim
$lastSimSimSim
$maxSimSimSim
$medianNoNoNo
$minSimSimSim
$percentileNoNoNo
$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
$switchSimSimSim
Estágios do pipeline de agregação$addFieldsSimSimSim
$bucketSimSimSim
$bucketAutoNoNoNo
$changeStreamNoNoNo
$changeStreamSplitLargeEventNoNoNo
$collStatsSimSimSim
$countSimSimSim
$densifySimSim
$documentsNoNo
$facetSimSimSim
$fillSimSim
$geoNearSimSimSim
$graphLookupSimSimSim
$groupSimSimSim
$indexStatsSimSimSim
$limitSimSimSim
$listSampledQueriesNoNoNo
$listSearchIndexesNoNoNo
$listSessionsNoNoNo
$lookupSimSimSim
$matchSimSimSim
$mergeSimSimSim
$outSimSimSim
$planCacheStatsNoNoNo
$projectSimSimSim
$redactNoNoNo
$replaceRootSimSimSim
$replaceWithSimSimSim
$sampleSimSimSim
$searchSimSimSim
$searchMetaSimSimSim
$setSimSimSim
$setWindowFieldsSimSimSim
$skipSimSimSim
$sortSimSimSim
$sortByCountSimSimSim
$unionWithSimSimSim
$unsetSimSimSim
$unwindSimSimSim
$shardedDataDistributionNoNoNo
$changeStreamNoNoNo
$currentOpSimSimSim
$listLocalSessionsNoNoNo
$documentsNoNoNo
Variáveis em expressões de agregaçãoAGORANoNoNo
ROOTSimSimSim
REMOVESimSimSim
CURRENTSimSimSim
CLUSTER_TIMENoNoNo
DESCENDNoNoNo
PRUNENoNoNo
KEEPNoNoNo
SEARCH_METANoNoNo
USER_ROLESNoNoNão

Índices e propriedades de índice

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

Nota

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

Índices

ComandoSuportado
Índice de campo únicoSim
Índice compostoSim
Índice MultikeySim
Índice de textoSim
Índice curingaSim
Índice GeoespacialSim
Índice de HashSim
Índice vetorial (disponível apenas no Cosmos DB)SimSim, com pesquisa vetorial

Propriedades do índice

ComandoSuportado
TTLSim
ExclusivoSim
ParcialSim
Insensível a maiúsculas e minúNão
DispersosSim
FundoSim

Próximos passos