Share via


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 aprovechar los controladores de cliente existentes, los 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íaComandoCompatible
Comandos de agregaciónagregadoSí
countSí
distinctSí
mapReduceObsoleto
Comandos de autenticaciónauthenticateSí
getnonceSí
logoutSí
Comandos geoespacialesgeoSearchObsoleto
Comandos de caché del plan de consultaNoNo
Comandos administrativoscloneCollectionAsCappedNoNúm. Actualmente no se admiten las colecciones limitadas.
collModSíParcial
compactNoNo
connPoolSyncObsoleto
convertToCappedNoNúm. Actualmente no se admiten las colecciones limitadas.
createSíParcial
createIndexesSí
currentOpSí
dropSí
dropDatabaseSí
dropConnectionsComo servicio PaaS, Azure se ocupará de su administración.
dropIndexesSí
filemd5NoNo
fsyncComo servicio PaaS, Azure se ocupará de su administración.
fsyncUnlockComo servicio PaaS, Azure se ocupará de su administración.
getDefaultRWConcernSí
getClusterParameterNoNo
getParameterSí
killCursorsSí
killOpSí
listCollectionsSí
listDatabasesSí
listIndexesSí
logRotateComo servicio PaaS, Azure se ocupará de su administración.
reIndexSí
renameCollectionSí
rotateCertificatesComo servicio PaaS, Azure se ocupará de su administración.
setFeatureCompatibilityVersionComo servicio PaaS, Azure se ocupará de su administración.
setIndexCommitQuorumNoNo
setParameterSíParcial
setDefaultRWConcernNoNo
shutdownComo servicio PaaS, Azure se ocupará de su administración.
Comandos de administración de usuarios y rolesActualmente no se admiten, pero estarán disponibles a través de Azure Active Directory en el futuro.
Comandos de replicaciónAzure administra la replicación, lo que elimina la necesidad de que los clientes se repliquen manualmente.
Comandos de particionamientoenableShardingSí
isdbgridSí
reshardCollectionSí
shardCollectionSí
unsetShardingObsoleto
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
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
reshardCollectionNoNo
Comandos de operación de consulta y escriturachange streamsNoNo
deleteSí
findSí
findAndModifySí
getLastErrorSí
getMoreSíParcial
insertSí
resetErrorObsoleto
updateSí
Comandos de sesiónabortTransactionSí
commitTransactionSí
endSessionsSí
killAllSessionsN.ºNo
killAllSessionsByPatternNoNo
killSessionsSí
refreshSessionsNoNo
startSessionSí
Comandos de diagnósticoavailableQueryOptionsNoNo
buildInfoSí
collStatsSí
connPoolStatsNoNo
connectionStatusSíParcial
dataSizeN.ºNo
dbHashNoNo
dbStatsSí
driverOIDTestComo servicio PaaS, Azure se ocupará de su administración.
explainSí
featuresComo servicio PaaS, Azure se ocupará de su administración.
getCmdLineOptsSí
getLogSí
hostInfoSíParcial
_isSelfNoNo
listCommandsSí
lockInfoN.ºNo
netstatNoNo
pingSí
profileComo servicio PaaS, Azure se ocupará de su administración.
serverStatusSí
shardConnPoolStatsObsoleto
topNoNo
validateSí
whatsmyuriSí
Comandos de auditoría de eventos del sistemalogApplicationMessageNoNo

Operadores

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

Nota:

La agregación $lookup aún no admite el uso de expresiones de variable mediante "let". AvgObjsize y size en "collStats" funcionan solo con un tamaño de documento inferior a 2 KB.

CategoríaOperadorCompatible
Operadores de consulta de comparación$eqSí
$gtSí
$gteSí
$inSí
$ltSí
$lteSí
$neSí
$ninSí
Operadores de consulta lógica$andSí
$notSí
$norSí
$orSí
Operadores de consulta de elementos$existsSí
$typeSí
Operadores de consulta de evaluación$exprSí
$jsonSchemaNoNo
$modSí
$regexSí
$textSí
$whereNoNo
Operadores de geoespacialesSíEn versión preliminar privada*
Operadores de consulta de matriz$allSí
$elemMatchSí
$sizeSí
Operadores de consulta bit a bit$bitsAllClearSí
$bitsAllSetSí
$bitsAnyClearSí
$bitsAnySetSí
Operadores de proyección$Sí
$elemMatchSí
$metaSí
$sliceSí
Operadores de consulta variados$commentNoNo
$randSí
$naturalNoNo
Operadores de actualización de campo$currentDateSí
$incSí
$minSí
$maxSí
$mulSí
$renameSí
$setSí
$setOnInsertSí
$unsetSí
Operadores de actualización de matriz$Sí
$[]Sí
$[identifier]Sí
$addToSetSí
$popSí
$pullSí
$pushSí
$pullAllSí
$eachSí
$positionSí
$sliceSí
$sortSí
Operador de actualización bit a bit$bitSí
Operadores de expresión aritmética$absSí
$addSí
$ceilSí
$divideSí
$expSí
$floorSí
$lnSí
$logSí
$log10Sí
$modSí
$multiplySí
$powSí
$roundSí
$sqrtSí
$subtractSí
$truncSí
Operadores de expresión de matriz$arrayElemAtSí
$arrayToObjectSí
$concatArraysSí
$filterSí
$firstNSí
$inSí
$indexOfArraySí
$isArraySí
$lastNSí
$mapSí
$maxNN.ºNo
$minNNoNo
$objectToArraySí
$rangeSí
$reduceSí
$reverseArraySí
$sizeSí
$sliceSí
$sortArrayN.ºNo
$zipNoNo
Operadores bit a bit$bitAndSí
$bitNotSí
$bitOrSí
$bitXorSí
Operadores de expresión booleana$andSí
$notSí
$orSí
Operadores de expresión de comparación$cmpSí
$eqSí
$gtSí
$gteSí
$ltSí
$lteSí
$neSí
Operadores de expresión de agregación personalizadaNo compatible.
Operadores de tamaño de datos$bsonSizeSí
$binarySizeSí
Operadores de expresión de fecha$dateAddSí
$dateDiffSí
$dateFromPartsSí
$dateFromStringSí
$dateSubtractSí
$dateToPartsSí
$dateToStringSí
$dateTruncSí
$dayOfMonthSí
$dayOfWeekSí
$dayOfYearSí
$hourSí
$isoDayOfWeekSí
$isoWeekSí
$isoWeekYearSí
$millisecondSí
$minuteSí
$monthSí
$secondSí
$toDateSí
$weekSí
$yearSí
Operador de expresión literal$literalSí
Operadores varios$getFieldNoNo
$randSí
$sampleRateNoNo
Operadores de expresión de objeto$mergeObjectsSí
$objectToArraySí
$setFieldSí
Operadores de expresión de conjunto$allElementsTrueSí
$anyElementTrueSí
$setDifferenceSí
$setEqualsSí
$setIntersectionSí
$setIsSubsetSí
$setUnionSí
Operadores de expresión de cadena$concatSí
$dateFromStringNoNo
$dateToStringSí
$indexOfBytesSí
$indexOfCPSí
$ltrimSí
$regexFindSí
$regexFindAllSí
$regexMatchSí
$replaceOneSí
$replaceAllSí
$rtrimSí
$splitSí
$strLenBytesSí
$strLenCPSí
$strcasecmpSí
$substrSí
$substrBytesSí
$substrCPSí
$toLowerSí
$toStringSí
$trimSí
$toUpperSí
Operador de expresión de texto$metaSí
Operadores de expresión de marca de tiempoNo compatible.
Operadores de expresión trigonométricaNo compatible.
Operadores de expresión de tipo$convertSí
$isNumberSí
$toBoolSí
$toDateSí
$toDecimalSí
$toDoubleSí
$toIntSí
$toLongSí
$toObjectIdSí
$toStringSí
$typeSí
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorN.ºNo
$addToSetNoNo
$avgSí
$bottomN.ºNo
$bottomNNoNo
$countSí
$firstSí
$firstNSí
$lastSí
$lastNSí
$maxSí
$maxNN.ºNo
$medianN.ºNo
$mergeObjectsNoNo
$minSí
$percentileN.ºNo
$pushN.ºNo
$stdDevPopN.ºNo
$stdDevSampNoNo
$sumSí
$topN.ºNo
$topNNoNo
Acumuladores (en otras fases)$avgNoNo
$firstSí
$lastSí
$maxN.ºNo
$medianN.ºNo
$minN.ºNo
$percentileN.ºNo
$stdDevPopN.ºNo
$stdDevSampN.ºNo
$sumNoNo
Operadores de expresión variableNo compatible.
Operadores de ventanaNo compatible.
Operadores de expresión condicional$condSí
$ifNullSí
$switchSí
Fases de canalización de agregación$addFieldsSí
$bucketN.ºNo
$bucketAutoN.ºNo
$changeStreamN.ºNo
$changeStreamSplitLargeEventNoNo
$collStatsSí
$countSí
$densifyN.ºNo
$documentsNoNo
$facetSí
$fillN.ºNo
$geoNearNoNo
$graphLookupSí
$groupSí
$indexStatsSí
$limitSí
$listSampledQueriesN.ºNo
$listSearchIndexesN.ºNo
$listSessionsNoNo
$lookupSí
$matchSí
$mergeN.ºNo
$outN.ºNo
$planCacheStatsNoNo
$projectSí
$redactNoNo
$replaceRootSí
$replaceWithSí
$sampleSí
$searchSí
$searchMetaSí
$setSí
$setWindowFieldsNoNo
$skipSí
$sortSí
$sortByCountSí
$unionWithNoNo
$unsetSí
$unwindSí
$shardedDataDistributionN.ºNo
$changeStreamNoNo
$currentOpSí
$listLocalSessionsN.ºNo
$documentsN.ºNo

Í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 únicoSí
Índice compuestoSí
Índice de varias clavesSí
Índice de textoSí
Índice geoespacialSíEn versión preliminar privada*
Índice de hashSí
Índice vectorial (solo disponible en Cosmos DB)SíSí, con el vector de búsqueda

Propiedades de índice

Get-HelpCompatible
TTLSí
ÚnicoSí
ParcialSí
No distingue mayúsculas de minúsculasNoNo
DispersosSí
FondoSí

Pasos siguientes