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ê aplique 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:

Categoria Comando Funcionalidade
v5,0 v6,0 v7,0
Comandos administrativoscloneCollectionAsCapped Não Não, coleções limitadas não são suportadas no momento.
collMod Sim Sim Sim
compact Não Não Não
convertToCapped Não Não. No momento, não há suporte para coleções limitadas.
create Sim Sim Sim
createIndexes Sim Sim Sim
currentOp Sim Sim Sim
drop Sim Sim Sim
dropDatabase Sim Sim Sim
dropConnectionsComo um serviço PaaS, isso será gerenciado pelo Azure.
dropIndexes Sim Sim Sim
filemd5 Não Não Não
fsyncComo um serviço PaaS, isso será gerenciado pelo Azure.
fsyncUnlockComo um serviço PaaS, isso será gerenciado pelo Azure.
getDefaultRWConcern Sim Sim Sim
getClusterParameter Não Não
getParameter Sim Sim Sim
killCursors Sim Sim Sim
killOp Sim Sim Sim
listCollections Sim Sim Sim
listDatabases Sim Sim Sim
listIndexes Sim Sim Sim
logRotateComo um serviço PaaS, isso será gerenciado pelo Azure.
reIndex Sim Sim Sim
renameCollection Sim Sim Sim
rotateCertificatesComo um serviço PaaS, isso será gerenciado pelo Azure.
setFeatureCompatibilityVersionComo um serviço PaaS, isso será gerenciado pelo Azure.
setIndexCommitQuorum Não Não Não
setParameter Sim Sim Sim
setDefaultRWConcern Não Não Não
validateDBMetadata Não Não Não
shutdownComo um serviço PaaS, isso será gerenciado pelo Azure.
compactStructuredEncryptionDataComo um serviço PaaS, isso será gerenciado pelo Azure.
setUserWriteBlockModeComo um serviço PaaS, isso será gerenciado pelo Azure.
Comandos de agregação agregado Sim Sim Sim
count Sim Sim Sim
distinct Sim Sim Sim
mapReducePreterido no MongoDB 5.0
Comandos de autenticaçãoauthenticate Sim Sim Sim
logoutPreterido no MongoDB 5.0
Comandos de diagnósticobuildInfo Sim Sim Sim
collStats Sim Sim Sim
connPoolStats Não Não Não
connectionStatus Sim Sim Sim
dataSize Não Não Não
dbHash Não Não Não
dbStats Sim Sim Sim
explain Sim Sim Sim
getCmdLineOpts Sim Sim Sim
getLog Sim Sim Sim
hello Sim Sim Sim
hostInfo Sim Sim Sim
listCommands Sim Sim Sim
lockInfo Não Não Não
ping Sim Sim Sim
profileComo um serviço PaaS, isso será gerenciado pelo Azure.
serverStatus Não Não Não
shardConnPoolStatsPreterido no MongoDB 5.0. Alternativa: connPoolStats
top Não Não Não
validate Sim Sim Sim
whatsmyuri Sim Sim Sim
Comandos GeoespaciaisgeoSearchPreterido no MongoDB 5.0
Comandos de operação de consulta e gravaçãobulkWrite Não Não Não
delete Sim Sim Sim
find Sim Sim Sim
findAndModify Sim Sim Sim
getLastErrorPreterido no MongoDB 5.1
getMore Sim Sim Sim
insert Sim Sim Sim
resetErrorPreterido no MongoDB 5.0
update Sim Sim Sim
Comandos de cache do plano de consultaComo um serviço PaaS, isso será gerenciado pelo Azure.
Comandos de replicaçãoO Azure gerencia a replicação, eliminando a necessidade de os clientes replicarem manualmente.
Comandos de gerenciamento de funçãoNão tem suporte hoje, mas será disponibilizado por meio do Azure Ative Directory no futuro.
Comandos de sessãoabortTransaction Sim Sim Sim
commitTransaction Sim Sim Sim
endSessions Sim Sim Sim
killAllSessions Não Não Não
killAllSessionsByPattern Não Não Não
killSessions Sim Sim Sim
refreshSessions Não Não Não
startSession Sim Sim Sim
Comandos de compartilhamentoenableSharding Sim Sim Sim
isdbgrid Sim Sim Sim
reshardCollection Sim Sim Sim
shardCollection Sim Sim Sim
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
abortUnshardCollection
removeShard
removeShardFromZone
setShardVersion
mergeChunks
abortMoveCollection
getShardMap
analyzeShardKey
medianKey
checkMetadataConsistency
shardingState
cleanupReshardCollection
flushRouterConfig
balancerCollectionStatus
balancerStart
balancerStatus
balancerStop
configureCollectionBalancing
listShards
split
moveChunk
updateZoneKeyRange
movePrimary
moveRange
abortReshardCollection
commitReshardCollection
refineCollectionShardKey
configureQueryAnalyzer
transitionFromDedicatedConfigServer
transitionToDedicatedConfigServer
unshardCollection
Comandos de auditoria de eventos do sistemalogApplicationMessage Não Não Não
Comandos de gerenciamento de usuárioscreateUser Sim Sim Sim
dropUser Sim Sim Sim
usersInfo Sim Sim Sim
dropAllUsersFromDatabaseNão tem suporte hoje, mas será disponibilizado por meio do Azure Ative Directory no futuro.
grantRolesToUser
revokeRolesFromUser
updateUser

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 2 KB.

Categoria Comando Funcionalidade
v5,0 v6,0 v7,0
Operadores de consulta de comparação$eq Sim Sim Sim
$gt Sim Sim Sim
$gte Sim Sim Sim
$in Sim Sim Sim
$lt Sim Sim Sim
$lte Sim Sim Sim
$ne Sim Sim Sim
$nin Sim Sim Sim
Operadores de consulta lógica$and Sim Sim Sim
$not Sim Sim Sim
$nor Sim Sim Sim
$or Sim Sim Sim
Operadores de consulta de elemento$exists Sim Sim Sim
$type Sim Sim Sim
Operadores de consulta de avaliação$expr Sim Sim Sim
$jsonSchema* Sim Sim Sim
$mod Sim Sim Sim
$regex Sim Sim Sim
$text Sim Sim Sim
$where Não Não Não
Operadores Geoespaciais$geoIntersects Sim Sim Sim
$geoWithin Sim Sim Sim
$box Sim Sim Sim
$center Sim Sim Sim
$centerSphere Sim Sim Sim
$geometry Sim Sim Sim
$maxDistance Sim Sim Sim
$minDistance Sim Sim Sim
$polygon Sim Sim Sim
$near Sim Sim Sim
$nearSphere Sim Sim Sim
Operadores de consulta de matriz$all Sim Sim Sim
$elemMatch Sim Sim Sim
$size Sim Sim Sim
Operadores de consulta Bitwise$bitsAllClear Sim Sim Sim
$bitsAllSet Sim Sim Sim
$bitsAnyClear Sim Sim Sim
$bitsAnySet Sim Sim Sim
Operadores de Projeção$ Sim Sim Sim
$elemMatch Sim Sim Sim
$meta Não Não Não
$slice Sim Sim Sim
Operadores de consulta diversos$comment Sim Sim Sim
$rand Sim Sim Sim
$natural Sim Sim Sim
Operadores de atualização de campo$currentDate Sim Sim Sim
$inc Sim Sim Sim
$min Sim Sim Sim
$max Sim Sim Sim
$mul Sim Sim Sim
$rename Sim Sim Sim
$set Sim Sim Sim
$setOnInsert Sim Sim Sim
$unset Sim Sim Sim
Operadores de atualização de matriz$ Sim Sim Sim
$[] Sim Sim Sim
$[identifier] Sim Sim Sim
$addToSet Sim Sim Sim
$pop Sim Sim Sim
$pull Sim Sim Sim
$push Sim Sim Sim
$pullAll Sim Sim Sim
$each Sim Sim Sim
$position Sim Sim Sim
$slice Sim Sim Sim
$sort Sim Sim Sim
Operadores de atualização Bitwise$bit Sim Sim Sim
Operadores de expressão aritmética$abs Sim Sim Sim
$add Sim Sim Sim
$ceil Sim Sim Sim
$divide Sim Sim Sim
$exp Sim Sim Sim
$floor Sim Sim Sim
$ln Sim Sim Sim
$log Sim Sim Sim
$log10 Sim Sim Sim
$mod Sim Sim Sim
$multiply Sim Sim Sim
$pow Sim Sim Sim
$round Sim Sim Sim
$sqrt Sim Sim Sim
$subtract Sim Sim Sim
$trunc Sim Sim Sim
Operadores de expressão de matriz$arrayElemAt Sim Sim Sim
$arrayToObject Sim Sim Sim
$concatArrays Sim Sim Sim
$filter Sim Sim Sim
$firstN Sim Sim Sim
$in Sim Sim Sim
$indexOfArray Sim Sim Sim
$isArray Sim Sim Sim
$lastN Sim Sim Sim
$map Sim Sim Sim
$maxN Sim Sim
$minN Sim Sim
$objectToArray Sim Sim Sim
$range Sim Sim Sim
$reduce Sim Sim Sim
$reverseArray Sim Sim Sim
$size Sim Sim Sim
$slice Sim Sim Sim
$sortArray Sim Sim
$zip Sim Sim Sim
Operadores Bitwise$bitAnd Sim Sim Sim
$bitNot Sim Sim Sim
$bitOr Sim Sim Sim
$bitXor Sim Sim Sim
Operadores de expressão booleana$and Sim Sim Sim
$not Sim Sim Sim
$or Sim Sim Sim
Operadores de expressão de comparação$cmp Sim Sim Sim
$eq Sim Sim Sim
$gt Sim Sim Sim
$gte Sim Sim Sim
$lt Sim Sim Sim
$lte Sim Sim Sim
$ne Sim Sim Sim
Operadores de expressão de agregação personalizadaAinda não suportado.
Operadores de tamanho de dados$bsonSize Sim Sim Sim
$binarySize Sim Sim Sim
Operadores de expressão de data$dateAdd Sim Sim Sim
$dateDiff Sim Sim Sim
$dateFromParts Sim Sim Sim
$dateFromString Sim Sim Sim
$dateSubtract Sim Sim Sim
$dateToParts Sim Sim Sim
$dateToString Sim Sim Sim
$dateTrunc Sim Sim Sim
$dayOfMonth Sim Sim Sim
$dayOfWeek Sim Sim Sim
$dayOfYear Sim Sim Sim
$hour Sim Sim Sim
$isoDayOfWeek Sim Sim Sim
$isoWeek Sim Sim Sim
$isoWeekYear Sim Sim Sim
$millisecond Sim Sim Sim
$minute Sim Sim Sim
$month Sim Sim Sim
$second Sim Sim Sim
$toDate Sim Sim Sim
$week Sim Sim Sim
$year Sim Sim Sim
Operador de expressão literal$literal Sim Sim Sim
Operadores Diversos$getField Sim Sim Sim
$rand Sim Sim Sim
$sampleRate Sim Sim Sim
Operadores de expressão de objeto$mergeObjects Sim Sim Sim
$objectToArray Sim Sim Sim
$setField Sim Sim Sim
Definir operadores de expressão$allElementsTrue Sim Sim Sim
$anyElementTrue Sim Sim Sim
$setDifference Sim Sim Sim
$setEquals Sim Sim Sim
$setIntersection Sim Sim Sim
$setIsSubset Sim Sim Sim
$setUnion Sim Sim Sim
Operadores de expressão de cadeia de caracteres$concat Sim Sim Sim
$dateFromString Sim Sim Sim
$dateToString Sim Sim Sim
$indexOfBytes Sim Sim Sim
$indexOfCP Sim Sim Sim
$ltrim Sim Sim Sim
$regexFind Sim Sim Sim
$regexFindAll Sim Sim Sim
$regexMatch Sim Sim Sim
$replaceOne Sim Sim Sim
$replaceAll Sim Sim Sim
$rtrim Sim Sim Sim
$split Sim Sim Sim
$strLenBytes Sim Sim Sim
$strLenCP Sim Sim Sim
$strcasecmp Sim Sim Sim
$substr Sim Sim Sim
$substrBytes Sim Sim Sim
$substrCP Sim Sim Sim
$toLower Sim Sim Sim
$toString Sim Sim Sim
$trim Sim Sim Sim
$toUpper Sim Sim Sim
Operador de expressão de texto$meta Não Não Não
Operadores de expressão de carimbo de data/hora$tsIncrement Sim Sim Sim
$tsSecond Sim Sim Sim
Operadores de expressão de trigonometria$sin Sim Sim Sim
$cos Sim Sim Sim
$tan Sim Sim Sim
$asin Sim Sim Sim
$acos Sim Sim Sim
$atan Sim Sim Sim
$atan2 Sim Sim Sim
$asinh Sim Sim Sim
$acosh Sim Sim Sim
$atanh Sim Sim Sim
$sinh Sim Sim Sim
$cosh Sim Sim Sim
$tanh Sim Sim Sim
$degreesToRadians Sim Sim Sim
$radiansToDegrees Sim Sim Sim
Operadores de expressão de tipo$convert Sim Sim Sim
$isNumber Sim Sim Sim
$toBool Sim Sim Sim
$toDate Sim Sim Sim
$toDecimal Sim Sim Sim
$toDouble Sim Sim Sim
$toInt Sim Sim Sim
$toLong Sim Sim Sim
$toObjectId Sim Sim Sim
$toString Sim Sim Sim
$type Sim Sim Sim
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields)$accumulator Não Não Não
$addToSet Sim Sim Sim
$avg Sim Sim Sim
$bottom Sim Sim
$bottomN Sim Sim
$count Sim Sim Sim
$first Sim Sim Sim
$firstN Sim Sim Sim
$last Sim Sim Sim
$lastN Sim Sim Sim
$max Sim Sim Sim
$maxN Sim Sim
$median Sim Sim Sim
$mergeObjects Sim Sim Sim
$min Sim Sim Sim
$percentile Sim Sim Sim
$push Sim Sim Sim
$stdDevPop Sim Sim Sim
$stdDevSamp Sim Sim Sim
$sum Sim Sim Sim
$top Sim Sim
$topN Sim Sim
Acumuladores (noutras fases)$avg Sim Sim Sim
$first Sim Sim Sim
$last Sim Sim Sim
$max Sim Sim Sim
$median Sim Sim Sim
$min Sim Sim Sim
$percentile Sim Sim Sim
$stdDevPop Sim Sim Sim
$stdDevSamp Sim Sim Sim
$sum Sim Sim Sim
Operadores de expressão variável$let Sim Sim Sim
Operadores de janela$sum Sim Sim Sim
$push Sim Sim Sim
$addToSet Sim Sim Sim
$count Sim Sim Sim
$max Sim Sim Sim
$min Sim Sim Sim
$avg Sim Sim Sim
$stdDevPop Sim Sim Sim
$bottom Sim Sim Sim
$bottomN Sim Sim Sim
$covariancePop Sim Sim Sim
$covarianceSamp Sim Sim Sim
$denseRank Sim Sim Sim
$derivative Sim Sim Sim
$documentNumber Sim Sim Sim
$expMovingAvg Sim Sim Sim
$first Sim Sim Sim
$integral Sim Sim Sim
$last Sim Sim Sim
$linearFill Sim Sim Sim
$locf Sim Sim Sim
$minN Sim Sim Sim
$rank Sim Sim Sim
$shift Sim Sim Sim
$stdDevSamp Sim Sim Sim
$top Sim Sim Sim
$topN Sim Sim Sim
Operadores de expressão condicional$cond Sim Sim Sim
$ifNull Sim Sim Sim
$switch Sim Sim Sim
Estágios do pipeline de agregação$addFields Sim Sim Sim
$bucket Sim Sim Sim
$bucketAuto Não Não Não
$changeStream Sim Sim Sim
$changeStreamSplitLargeEvent Não Não Não
$collStats Sim Sim Sim
$count Sim Sim Sim
$densify Sim Sim
$documents Sim Sim
$facet Sim Sim Sim
$fill Sim Sim
$geoNear Sim Sim Sim
$graphLookup Sim Sim Sim
$group Sim Sim Sim
$indexStats Sim Sim Sim
$limit Sim Sim Sim
$listSampledQueries Não Não Não
$listSearchIndexes Não Não Não
$listSessions Não Não Não
$lookup Sim Sim Sim
$match Sim Sim Sim
$merge Sim Sim Sim
$out Sim Sim Sim
$planCacheStats Não Não Não
$project Sim Sim Sim
$redact Sim Sim Sim
$replaceRoot Sim Sim Sim
$replaceWith Sim Sim Sim
$sample Sim Sim Sim
$search Sim Sim Sim
$searchMeta Sim Sim Sim
$set Sim Sim Sim
$setWindowFields Sim Sim Sim
$skip Sim Sim Sim
$sort Sim Sim Sim
$sortByCount Sim Sim Sim
$unionWith Sim Sim Sim
$unset Sim Sim Sim
$unwind Sim Sim Sim
$shardedDataDistribution Não Não Não
$currentOp Sim Sim Sim
$listLocalSessions Não Não Não
Variáveis em expressões de agregação AGORA Sim Sim Sim
ROOT Sim Sim Sim
REMOVE Sim Sim Sim
CURRENT Sim Sim Sim
CLUSTER_TIME Não Não Não
DESCEND Sim Sim Sim
PRUNE Sim Sim Sim
KEEP Sim Sim Sim
SEARCH_META Não Não Não
USER_ROLES Não Não Não

Nota

*A validação de esquema suporta: insert, update, findAndModify e os estágios $merge / $out na agregação. Use bypassDocumentValidation para ignorar a validação, se necessário.

Í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 único Sim
Índice composto Sim
Índice Multikey Sim
Índice de texto Sim
Índice curinga Sim
Índice Geoespacial Sim
Índice de Hash Sim
Índice vetorial (disponível apenas no Cosmos DB) Sim Sim, com pesquisa vetorial

Propriedades do índice

ComandoSuportado
TTL Sim
Exclusivo Sim
Parcial Sim
Insensível a maiúsculas e minú Sim
Dispersos Sim
Fundo Sim

Próximos passos