Compartir a través de


Compatibilidad de MongoDB y compatibilidad de características con núcleos virtuales de Azure Cosmos DB for MongoDB

SE APLICA A: núcleo virtual de MongoDB

El núcleo virtual de Azure Cosmos DB for MongoDB le permite experimentar las ventajas conocidas de MongoDB al acceder a las características empresariales mejoradas que ofrece Azure Cosmos DB. Garantiza la compatibilidad siguiendo el protocolo de conexión de MongoDB, lo que le permite aplicar controladores de cliente existentes, SDK y otras herramientas con las que ya está familiarizado.

Compatibilidad con protocolos

A continuación se enumeran los operadores admitidos y las limitaciones o excepciones. Cualquier controlador de cliente que reconozca estos protocolos podrá conectarse a Azure Cosmos DB for MongoDB. Al crear clústeres de núcleo virtual de Azure Cosmos DB for MongoDB, el punto de conexión tiene el formato *.mongocluster.cosmos.azure.com.

Compatibilidad con lenguajes de consulta

Azure Cosmos DB for MongoDB proporciona una compatibilidad completa con las construcciones del lenguaje de consulta de MongoDB. A continuación, encontrará la lista detallada de las opciones, comandos, fases, operadores y comandos admitidos actualmente.

Nota:

En este artículo solo se enumeran los comandos de servidor admitidos y se excluyen las funciones contenedoras del lado cliente. Las funciones contenedoras del lado cliente, como deleteMany() y updateMany() usan internamente los comandos de servidor delete() y update(). Las funciones que usan comandos de servidor admitidos son compatibles con Azure Cosmos DB for MongoDB.

Comandos de base de datos

Los núcleos virtuales de Azure Cosmos DB for MongoDB admiten los siguientes comandos de base de datos:

Categoría Comando Característica
v5.0 v6.0 v7.0
Comandos administrativoscloneCollectionAsCapped No No, actualmente no se admiten las colecciones limitadas.
collMod Sí Sí Sí
compact No No No
convertToCapped No Núm. Actualmente no se admiten las colecciones limitadas.
create Sí Sí Sí
createIndexes Sí Sí Sí
currentOp Sí Sí Sí
drop Sí Sí Sí
dropDatabase Sí Sí Sí
dropConnectionsComo servicio PaaS, Azure se ocupará de su administración.
dropIndexes Sí Sí Sí
filemd5 No No No
fsyncComo servicio PaaS, Azure se ocupará de su administración.
fsyncUnlockComo servicio PaaS, Azure se ocupará de su administración.
getDefaultRWConcern Sí Sí Sí
getClusterParameter No No
getParameter Sí Sí Sí
killCursors Sí Sí Sí
killOp Sí Sí Sí
listCollections Sí Sí Sí
listDatabases Sí Sí Sí
listIndexes Sí Sí Sí
logRotateComo servicio PaaS, Azure se ocupará de su administración.
reIndex Sí Sí Sí
renameCollection Sí Sí Sí
rotateCertificatesComo servicio PaaS, Azure se ocupará de su administración.
setFeatureCompatibilityVersionComo servicio PaaS, Azure se ocupará de su administración.
setIndexCommitQuorum No No No
setParameter Sí Sí Sí
setDefaultRWConcern No No No
validateDBMetadata No No No
shutdownComo servicio PaaS, Azure se ocupará de su administración.
compactStructuredEncryptionDataComo servicio PaaS, Azure se ocupará de su administración.
setUserWriteBlockModeComo servicio PaaS, Azure se ocupará de su administración.
Comandos de agregación agregado Sí Sí Sí
count Sí Sí Sí
distinct Sí Sí Sí
mapReduceEn desuso en MongoDB 5.0
Comandos de autenticaciónauthenticate Sí Sí Sí
logoutEn desuso en MongoDB 5.0
Comandos de diagnósticobuildInfo Sí Sí Sí
collStats Sí Sí Sí
connPoolStats No No No
connectionStatus Sí Sí Sí
dataSize No No No
dbHash No No No
dbStats Sí Sí Sí
explain Sí Sí Sí
getCmdLineOpts Sí Sí Sí
getLog Sí Sí Sí
hello Sí Sí Sí
hostInfo Sí Sí Sí
listCommands Sí Sí Sí
lockInfo No No No
ping Sí Sí Sí
profileComo servicio PaaS, Azure se ocupará de su administración.
serverStatus No No No
shardConnPoolStatsEn desuso en MongoDB 5.0. Alternativa: connPoolStats
top No No No
validate Sí Sí Sí
whatsmyuri Sí Sí Sí
Comandos geoespacialesgeoSearchEn desuso en MongoDB 5.0
Comandos de operación de consulta y escriturabulkWrite No No No
delete Sí Sí Sí
find Sí Sí Sí
findAndModify Sí Sí Sí
getLastErrorEn desuso en MongoDB 5.1
getMore Sí Sí Sí
insert Sí Sí Sí
resetErrorEn desuso en MongoDB 5.0
update Sí Sí Sí
Comandos de caché del plan de consultaComo servicio PaaS, Azure se ocupará de su administración.
Comandos de replicaciónAzure administra la replicación, lo que elimina la necesidad de que los clientes se repliquen manualmente.
Comandos de administración de rolesActualmente no se admiten, pero estarán disponibles a través de Azure Active Directory en el futuro.
Comandos de sesiónabortTransaction Sí Sí Sí
commitTransaction Sí Sí Sí
endSessions Sí Sí Sí
killAllSessions No No No
killAllSessionsByPattern No No No
killSessions Sí Sí Sí
refreshSessions No No No
startSession Sí Sí Sí
Comandos de particionamientoenableSharding Sí Sí Sí
isdbgrid Sí Sí Sí
reshardCollection Sí Sí Sí
shardCollection Sí Sí Sí
unsetShardingEn desuso en MongoDB 5.0
addShardComo oferta de plataforma como servicio (PaaS), Azure administra la administración y el reequilibrio de particiones. Los usuarios solo necesitan especificar la estrategia de particionamiento para las colecciones y Azure controlará el 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 auditoría de eventos del sistemalogApplicationMessage No No No
Comandos de administración de usuarioscreateUser Sí Sí Sí
dropUser Sí Sí Sí
usersInfo Sí Sí Sí
dropAllUsersFromDatabaseActualmente no se admiten, pero estarán disponibles a través de Azure Active Directory en el futuro.
grantRolesToUser
revokeRolesFromUser
updateUser

Operadores

A continuación se muestra la lista de operadores admitidos actualmente en el núcleo virtual de Azure Cosmos DB for MongoDB:

Nota:

AvgObjsize y size en "collStats" y "dbStats" funcionan solo con tamaño de documento inferior a 2 KB.

Categoría Comando Característica
v5.0 v6.0 v7.0
Operadores de consulta de comparación$eq Sí Sí Sí
$gt Sí Sí Sí
$gte Sí Sí Sí
$in Sí Sí Sí
$lt Sí Sí Sí
$lte Sí Sí Sí
$ne Sí Sí Sí
$nin Sí Sí Sí
Operadores de consulta lógica$and Sí Sí Sí
$not Sí Sí Sí
$nor Sí Sí Sí
$or Sí Sí Sí
Operadores de consulta de elementos$exists Sí Sí Sí
$type Sí Sí Sí
Operadores de consulta de evaluación$expr Sí Sí Sí
$jsonSchema* Sí Sí Sí
$mod Sí Sí Sí
$regex Sí Sí Sí
$text Sí Sí Sí
$where No No No
Operadores de geoespaciales$geoIntersects Sí Sí Sí
$geoWithin Sí Sí Sí
$box Sí Sí Sí
$center Sí Sí Sí
$centerSphere Sí Sí Sí
$geometry Sí Sí Sí
$maxDistance Sí Sí Sí
$minDistance Sí Sí Sí
$polygon Sí Sí Sí
$near Sí Sí Sí
$nearSphere Sí Sí Sí
Operadores de consulta de matriz$all Sí Sí Sí
$elemMatch Sí Sí Sí
$size Sí Sí Sí
Operadores de consulta bit a bit$bitsAllClear Sí Sí Sí
$bitsAllSet Sí Sí Sí
$bitsAnyClear Sí Sí Sí
$bitsAnySet Sí Sí Sí
Operadores de proyección$ Sí Sí Sí
$elemMatch Sí Sí Sí
$meta No No No
$slice Sí Sí Sí
Operadores de consulta variados$comment Sí Sí Sí
$rand Sí Sí Sí
$natural Sí Sí Sí
Operadores de actualización de campo$currentDate Sí Sí Sí
$inc Sí Sí Sí
$min Sí Sí Sí
$max Sí Sí Sí
$mul Sí Sí Sí
$rename Sí Sí Sí
$set Sí Sí Sí
$setOnInsert Sí Sí Sí
$unset Sí Sí Sí
Operadores de actualización de matriz$ Sí Sí Sí
$[] Sí Sí Sí
$[identifier] Sí Sí Sí
$addToSet Sí Sí Sí
$pop Sí Sí Sí
$pull Sí Sí Sí
$push Sí Sí Sí
$pullAll Sí Sí Sí
$each Sí Sí Sí
$position Sí Sí Sí
$slice Sí Sí Sí
$sort Sí Sí Sí
Operador de actualización bit a bit$bit Sí Sí Sí
Operadores de expresión aritmética$abs Sí Sí Sí
$add Sí Sí Sí
$ceil Sí Sí Sí
$divide Sí Sí Sí
$exp Sí Sí Sí
$floor Sí Sí Sí
$ln Sí Sí Sí
$log Sí Sí Sí
$log10 Sí Sí Sí
$mod Sí Sí Sí
$multiply Sí Sí Sí
$pow Sí Sí Sí
$round Sí Sí Sí
$sqrt Sí Sí Sí
$subtract Sí Sí Sí
$trunc Sí Sí Sí
Operadores de expresión de matriz$arrayElemAt Sí Sí Sí
$arrayToObject Sí Sí Sí
$concatArrays Sí Sí Sí
$filter Sí Sí Sí
$firstN Sí Sí Sí
$in Sí Sí Sí
$indexOfArray Sí Sí Sí
$isArray Sí Sí Sí
$lastN Sí Sí Sí
$map Sí Sí Sí
$maxN Sí Sí
$minN Sí Sí
$objectToArray Sí Sí Sí
$range Sí Sí Sí
$reduce Sí Sí Sí
$reverseArray Sí Sí Sí
$size Sí Sí Sí
$slice Sí Sí Sí
$sortArray Sí Sí
$zip Sí Sí Sí
Operadores bit a bit$bitAnd Sí Sí Sí
$bitNot Sí Sí Sí
$bitOr Sí Sí Sí
$bitXor Sí Sí Sí
Operadores de expresión booleana$and Sí Sí Sí
$not Sí Sí Sí
$or Sí Sí Sí
Operadores de expresión de comparación$cmp Sí Sí Sí
$eq Sí Sí Sí
$gt Sí Sí Sí
$gte Sí Sí Sí
$lt Sí Sí Sí
$lte Sí Sí Sí
$ne Sí Sí Sí
Operadores de expresión de agregación personalizadaAún no se admite.
Operadores de tamaño de datos$bsonSize Sí Sí Sí
$binarySize Sí Sí Sí
Operadores de expresión de fecha$dateAdd Sí Sí Sí
$dateDiff Sí Sí Sí
$dateFromParts Sí Sí Sí
$dateFromString Sí Sí Sí
$dateSubtract Sí Sí Sí
$dateToParts Sí Sí Sí
$dateToString Sí Sí Sí
$dateTrunc Sí Sí Sí
$dayOfMonth Sí Sí Sí
$dayOfWeek Sí Sí Sí
$dayOfYear Sí Sí Sí
$hour Sí Sí Sí
$isoDayOfWeek Sí Sí Sí
$isoWeek Sí Sí Sí
$isoWeekYear Sí Sí Sí
$millisecond Sí Sí Sí
$minute Sí Sí Sí
$month Sí Sí Sí
$second Sí Sí Sí
$toDate Sí Sí Sí
$week Sí Sí Sí
$year Sí Sí Sí
Operador de expresión literal$literal Sí Sí Sí
Operadores varios$getField Sí Sí Sí
$rand Sí Sí Sí
$sampleRate Sí Sí Sí
Operadores de expresión de objeto$mergeObjects Sí Sí Sí
$objectToArray Sí Sí Sí
$setField Sí Sí Sí
Operadores de expresión de conjunto$allElementsTrue Sí Sí Sí
$anyElementTrue Sí Sí Sí
$setDifference Sí Sí Sí
$setEquals Sí Sí Sí
$setIntersection Sí Sí Sí
$setIsSubset Sí Sí Sí
$setUnion Sí Sí Sí
Operadores de expresión de cadena$concat Sí Sí Sí
$dateFromString Sí Sí Sí
$dateToString Sí Sí Sí
$indexOfBytes Sí Sí Sí
$indexOfCP Sí Sí Sí
$ltrim Sí Sí Sí
$regexFind Sí Sí Sí
$regexFindAll Sí Sí Sí
$regexMatch Sí Sí Sí
$replaceOne Sí Sí Sí
$replaceAll Sí Sí Sí
$rtrim Sí Sí Sí
$split Sí Sí Sí
$strLenBytes Sí Sí Sí
$strLenCP Sí Sí Sí
$strcasecmp Sí Sí Sí
$substr Sí Sí Sí
$substrBytes Sí Sí Sí
$substrCP Sí Sí Sí
$toLower Sí Sí Sí
$toString Sí Sí Sí
$trim Sí Sí Sí
$toUpper Sí Sí Sí
Operador de expresión de texto$meta No No No
Operadores de expresión de marca de tiempo$tsIncrement Sí Sí Sí
$tsSecond Sí Sí Sí
Operadores de expresión trigonométrica$sin Sí Sí Sí
$cos Sí Sí Sí
$tan Sí Sí Sí
$asin Sí Sí Sí
$acos Sí Sí Sí
$atan Sí Sí Sí
$atan2 Sí Sí Sí
$asinh Sí Sí Sí
$acosh Sí Sí Sí
$atanh Sí Sí Sí
$sinh Sí Sí Sí
$cosh Sí Sí Sí
$tanh Sí Sí Sí
$degreesToRadians Sí Sí Sí
$radiansToDegrees Sí Sí Sí
Operadores de expresión de tipo$convert Sí Sí Sí
$isNumber Sí Sí Sí
$toBool Sí Sí Sí
$toDate Sí Sí Sí
$toDecimal Sí Sí Sí
$toDouble Sí Sí Sí
$toInt Sí Sí Sí
$toLong Sí Sí Sí
$toObjectId Sí Sí Sí
$toString Sí Sí Sí
$type Sí Sí Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields)$accumulator No No No
$addToSet Sí Sí Sí
$avg Sí Sí Sí
$bottom Sí Sí
$bottomN Sí Sí
$count Sí Sí Sí
$first Sí Sí Sí
$firstN Sí Sí Sí
$last Sí Sí Sí
$lastN Sí Sí Sí
$max Sí Sí Sí
$maxN Sí Sí
$median Sí Sí Sí
$mergeObjects Sí Sí Sí
$min Sí Sí Sí
$percentile Sí Sí Sí
$push Sí Sí Sí
$stdDevPop Sí Sí Sí
$stdDevSamp Sí Sí Sí
$sum Sí Sí Sí
$top Sí Sí
$topN Sí Sí
Acumuladores (en otras fases)$avg Sí Sí Sí
$first Sí Sí Sí
$last Sí Sí Sí
$max Sí Sí Sí
$median Sí Sí Sí
$min Sí Sí Sí
$percentile Sí Sí Sí
$stdDevPop Sí Sí Sí
$stdDevSamp Sí Sí Sí
$sum Sí Sí Sí
Operadores de expresión variable$let Sí Sí Sí
Operadores de ventana$sum Sí Sí Sí
$push Sí Sí Sí
$addToSet Sí Sí Sí
$count Sí Sí Sí
$max Sí Sí Sí
$min Sí Sí Sí
$avg Sí Sí Sí
$stdDevPop Sí Sí Sí
$bottom Sí Sí Sí
$bottomN Sí Sí Sí
$covariancePop Sí Sí Sí
$covarianceSamp Sí Sí Sí
$denseRank Sí Sí Sí
$derivative Sí Sí Sí
$documentNumber Sí Sí Sí
$expMovingAvg Sí Sí Sí
$first Sí Sí Sí
$integral Sí Sí Sí
$last Sí Sí Sí
$linearFill Sí Sí Sí
$locf Sí Sí Sí
$minN Sí Sí Sí
$rank Sí Sí Sí
$shift Sí Sí Sí
$stdDevSamp Sí Sí Sí
$top Sí Sí Sí
$topN Sí Sí Sí
Operadores de expresión condicional$cond Sí Sí Sí
$ifNull Sí Sí Sí
$switch Sí Sí Sí
Fases de canalización de agregación$addFields Sí Sí Sí
$bucket Sí Sí Sí
$bucketAuto No No No
$changeStream Sí Sí Sí
$changeStreamSplitLargeEvent No No No
$collStats Sí Sí Sí
$count Sí Sí Sí
$densify Sí Sí
$documents Sí Sí
$facet Sí Sí Sí
$fill Sí Sí
$geoNear Sí Sí Sí
$graphLookup Sí Sí Sí
$group Sí Sí Sí
$indexStats Sí Sí Sí
$limit Sí Sí Sí
$listSampledQueries No No No
$listSearchIndexes No No No
$listSessions No No No
$lookup Sí Sí Sí
$match Sí Sí Sí
$merge Sí Sí Sí
$out Sí Sí Sí
$planCacheStats No No No
$project Sí Sí Sí
$redact Sí Sí Sí
$replaceRoot Sí Sí Sí
$replaceWith Sí Sí Sí
$sample Sí Sí Sí
$search Sí Sí Sí
$searchMeta Sí Sí Sí
$set Sí Sí Sí
$setWindowFields Sí Sí Sí
$skip Sí Sí Sí
$sort Sí Sí Sí
$sortByCount Sí Sí Sí
$unionWith Sí Sí Sí
$unset Sí Sí Sí
$unwind Sí Sí Sí
$shardedDataDistribution No No No
$currentOp Sí Sí Sí
$listLocalSessions No No No
Variables en expresiones de agregación AHORA Sí Sí Sí
ROOT Sí Sí Sí
REMOVE Sí Sí Sí
CURRENT Sí Sí Sí
CLUSTER_TIME No No No
DESCEND Sí Sí Sí
PRUNE Sí Sí Sí
KEEP Sí Sí Sí
SEARCH_META No No No
USER_ROLES No No No

Nota:

*La validación de esquema admite: insertar, actualizar, buscarAndModify y las fases de $merge/$out en la agregación. Use bypassDocumentValidation para omitir la validación si es necesario.

Índices y propiedades de índice

El núcleo virtual de Azure Cosmos DB for MongoDB admite los siguientes índices y propiedades de índice:

Nota:

La creación de un índice único obtiene un bloqueo exclusivo en la colección durante toda la duración del proceso de compilación. Esta acción bloquea las operaciones de lectura y escritura en la colección hasta que se complete la operación.

Índices

Get-HelpCompatible
Índice de campo único Sí
Índice compuesto Sí
Índice de varias claves Sí
Índice de texto Sí
Índices de caracteres comodín Sí
Índice geoespacial Sí
Índice de hash Sí
Índice vectorial (solo disponible en Cosmos DB) Sí Sí, con el vector de búsqueda

Propiedades de índice

Get-HelpCompatible
TTL Sí
Único Sí
Parcial Sí
No distingue mayúsculas de minúsculas Sí
Dispersos Sí
Fondo Sí

Pasos siguientes