Partekatu honen bidez:


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íaComandoCaracterística
v5.0v6.0v7.0
Comandos de agregaciónagregadoSíSíSí
countSíSíSí
distinctSíSíSí
mapReduceEn desuso en MongoDB 5.0
Comandos de autenticaciónauthenticateSíSíSí
getnonceEn desuso en MongoDB 4.0
logoutEn desuso en MongoDB 5.0
Comandos geoespacialesgeoSearchEn desuso en MongoDB 5.0
Comandos de caché del plan de consultaNoN.ºNo
Comandos administrativoscloneCollectionAsCappedNoNo, actualmente no se admiten las colecciones limitadas.
collModSíSíSí
compactNoN.ºNo
convertToCappedNoNúm. Actualmente no se admiten las colecciones limitadas.
createSíSíSí
createIndexesSíSíSí
currentOpSíSíSí
dropSíSíSí
dropDatabaseSíSíSí
dropConnectionsComo servicio PaaS, Azure se ocupará de su administración.
dropIndexesSíSíSí
filemd5NoN.ºNo
fsyncComo servicio PaaS, Azure se ocupará de su administración.
fsyncUnlockComo servicio PaaS, Azure se ocupará de su administración.
getDefaultRWConcernSíSíSí
getClusterParameterNoNo
getParameterSíSíSí
killCursorsSíSíSí
killOpSíSíSí
listCollectionsSíSíSí
listDatabasesSíSíSí
listIndexesSíSíSí
logRotateComo servicio PaaS, Azure se ocupará de su administración.
reIndexSíSíSí
renameCollectionSíSíSí
rotateCertificatesComo servicio PaaS, Azure se ocupará de su administración.
setFeatureCompatibilityVersionComo servicio PaaS, Azure se ocupará de su administración.
setIndexCommitQuorumNoN.ºNo
setParameterSíSíSí
setDefaultRWConcernNoN.ºNo
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íSíSí
isdbgridSíSíSí
reshardCollectionSíSíSí
shardCollectionSí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
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 operación de consulta y escriturachange streamsNoN.ºNo
deleteSíSíSí
findSíSíSí
findAndModifySíSíSí
getLastErrorEn desuso en MongoDB 5.1
getMoreSíSíSí
insertSíSíSí
resetErrorEn desuso en MongoDB 5.0
updateSíSíSí
Comandos de sesiónabortTransactionSíSíSí
commitTransactionSíSíSí
endSessionsSíSíSí
killAllSessionsNoN.ºN.º
killAllSessionsByPatternN.ºN.ºNo
killSessionsSíSíSí
refreshSessionsNoN.ºNo
startSessionSíSíSí
Comandos de diagnósticoavailableQueryOptionsNoN.ºNo
buildInfoSíSíSí
collStatsSíSíSí
connPoolStatsNoN.ºNo
connectionStatusSíSíSí
dataSizeNoN.ºN.º
dbHashN.ºN.ºNo
dbStatsSíSíSí
driverOIDTestComo servicio PaaS, Azure se ocupará de su administración.
explainSíSíSí
featuresComo servicio PaaS, Azure se ocupará de su administración.
getCmdLineOptsSíSíSí
getLogSíSíSí
hostInfoSíSíSí
_isSelfNoN.ºNo
listCommandsSíSíSí
lockInfoNoN.ºN.º
netstatN.ºN.ºNo
pingSíSíSí
profileComo servicio PaaS, Azure se ocupará de su administración.
serverStatusNoN.ºNo
shardConnPoolStatsEn desuso en MongoDB 5.0
topNoN.ºNo
validateSíSíSí
whatsmyuriSíSíSí
Comandos de auditoría de eventos del sistemalogApplicationMessageNoN.ºNo

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" y "dbStats" funcionan solo con un tamaño de documento inferior a 2 KB.

CategoríaComandoCaracterística
v5.0v6.0v7.0
Operadores de consulta de comparación$eqSíSíSí
$gtSíSíSí
$gteSíSíSí
$inSíSíSí
$ltSíSíSí
$lteSíSíSí
$neSíSíSí
$ninSíSíSí
Operadores de consulta lógica$andSíSíSí
$notSíSíSí
$norSíSíSí
$orSíSíSí
Operadores de consulta de elementos$existsSíSíSí
$typeSíSíSí
Operadores de consulta de evaluación$exprSíSíSí
$jsonSchemaNoN.ºNo
$modSíSíSí
$regexSíSíSí
$textSíSíSí
$whereNoN.ºNo
Operadores de geoespaciales$geoIntersectsSíEn versión preliminar*
$geoWithin
$box
$center
$centerSphere
$geometry
$maxDistance
$minDistance
$polygon
$near
$nearSphere
Operadores de consulta de matriz$allSíSíSí
$elemMatchSíSíSí
$sizeSíSíSí
Operadores de consulta bit a bit$bitsAllClearSíSíSí
$bitsAllSetSíSíSí
$bitsAnyClearSíSíSí
$bitsAnySetSíSíSí
Operadores de proyección$SíSíSí
$elemMatchSíSíSí
$metaSíSíSí
$sliceSíSíSí
Operadores de consulta variados$commentNoN.ºNo
$randSíSíSí
$naturalNoN.ºNo
Operadores de actualización de campo$currentDateSíSíSí
$incSíSíSí
$minSíSíSí
$maxSíSíSí
$mulSíSíSí
$renameSíSíSí
$setSíSíSí
$setOnInsertSíSíSí
$unsetSíSíSí
Operadores de actualización de matriz$SíSíSí
$[]SíSíSí
$[identifier]SíSíSí
$addToSetSíSíSí
$popSíSíSí
$pullSíSíSí
$pushSíSíSí
$pullAllSíSíSí
$eachSíSíSí
$positionSíSíSí
$sliceSíSíSí
$sortSíSíSí
Operador de actualización bit a bit$bitSíSíSí
Operadores de expresión aritmética$absSíSíSí
$addSíSíSí
$ceilSíSíSí
$divideSíSíSí
$expSíSíSí
$floorSíSíSí
$lnSíSíSí
$logSíSíSí
$log10SíSíSí
$modSíSíSí
$multiplySíSíSí
$powSíSíSí
$roundSíSíSí
$sqrtSíSíSí
$subtractSíSíSí
$truncSíSíSí
Operadores de expresión de matriz$arrayElemAtSíSíSí
$arrayToObjectSíSíSí
$concatArraysSíSíSí
$filterSíSíSí
$firstNSíSíSí
$inSíSíSí
$indexOfArraySíSíSí
$isArraySíSíSí
$lastNSíSíSí
$mapSíSíSí
$maxNSíSí
$minNSíSí
$objectToArraySíSíSí
$rangeSíSíSí
$reduceSíSíSí
$reverseArraySíSíSí
$sizeSíSíSí
$sliceSíSíSí
$sortArraySíSí
$zipSíSíSí
Operadores bit a bit$bitAndSíSíSí
$bitNotSíSíSí
$bitOrSíSíSí
$bitXorSíSíSí
Operadores de expresión booleana$andSíSíSí
$notSíSíSí
$orSíSíSí
Operadores de expresión de comparación$cmpSíSíSí
$eqSíSíSí
$gtSíSíSí
$gteSíSíSí
$ltSíSíSí
$lteSíSíSí
$neSíSíSí
Operadores de expresión de agregación personalizadaAún no se admite.
Operadores de tamaño de datos$bsonSizeSíSíSí
$binarySizeSíSíSí
Operadores de expresión de fecha$dateAddSíSíSí
$dateDiffSíSíSí
$dateFromPartsSíSíSí
$dateFromStringSíSíSí
$dateSubtractSíSíSí
$dateToPartsSíSíSí
$dateToStringSíSíSí
$dateTruncSíSíSí
$dayOfMonthSíSíSí
$dayOfWeekSíSíSí
$dayOfYearSíSíSí
$hourSíSíSí
$isoDayOfWeekSíSíSí
$isoWeekSíSíSí
$isoWeekYearSíSíSí
$millisecondSíSíSí
$minuteSíSíSí
$monthSíSíSí
$secondSíSíSí
$toDateSíSíSí
$weekSíSíSí
$yearSíSíSí
Operador de expresión literal$literalSíSíSí
Operadores varios$getFieldNoN.ºNo
$randSíSíSí
$sampleRateNoN.ºNo
Operadores de expresión de objeto$mergeObjectsSíSíSí
$objectToArraySíSíSí
$setFieldSíSíSí
Operadores de expresión de conjunto$allElementsTrueSíSíSí
$anyElementTrueSíSíSí
$setDifferenceSíSíSí
$setEqualsSíSíSí
$setIntersectionSíSíSí
$setIsSubsetSíSíSí
$setUnionSíSíSí
Operadores de expresión de cadena$concatSíSíSí
$dateFromStringNoN.ºNo
$dateToStringSíSíSí
$indexOfBytesSíSíSí
$indexOfCPSíSíSí
$ltrimSíSíSí
$regexFindSíSíSí
$regexFindAllSíSíSí
$regexMatchSíSíSí
$replaceOneSíSíSí
$replaceAllSíSíSí
$rtrimSíSíSí
$splitSíSíSí
$strLenBytesSíSíSí
$strLenCPSíSíSí
$strcasecmpSíSíSí
$substrSíSíSí
$substrBytesSíSíSí
$substrCPSíSíSí
$toLowerSíSíSí
$toStringSíSíSí
$trimSíSíSí
$toUpperSíSíSí
Operador de expresión de texto$metaSíSíSí
Operadores de expresión de marca de tiempo$tsIncrementSíSíSí
$tsSecondSíSíSí
Operadores de expresión trigonométricaAún no se admite.
Operadores de expresión de tipo$convertSíSíSí
$isNumberSíSíSí
$toBoolSíSíSí
$toDateSíSíSí
$toDecimalSíSíSí
$toDoubleSíSíSí
$toIntSíSíSí
$toLongSíSíSí
$toObjectIdSíSíSí
$toStringSíSíSí
$typeSíSíSí
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNoN.ºNo
$addToSetSíSíSí
$avgSíSíSí
$bottomNoN.º
$bottomNN.ºNo
$countSíSíSí
$firstSíSíSí
$firstNSíSíSí
$lastSíSíSí
$lastNSíSíSí
$maxSíSíSí
$maxNNoN.º
$medianN.ºN.ºNo
$mergeObjectsSíSíSí
$minSíSíSí
$percentileNoN.ºNo
$pushSíSíSí
$stdDevPopNoN.ºN.º
$stdDevSampN.ºN.ºNo
$sumSíSíSí
$topNoN.º
$topNN.ºNo
Acumuladores (en otras fases)$avgNoN.ºNo
$firstSíSíSí
$lastSíSíSí
$maxNoN.ºN.º
$medianN.ºN.ºN.º
$minN.ºN.ºN.º
$percentileN.ºN.ºN.º
$stdDevPopN.ºN.ºN.º
$stdDevSampN.ºN.ºN.º
$sumN.ºN.ºNo
Operadores de expresión variableAún no se admite.
Operadores de ventanaAún no se admite.
Operadores de expresión condicional$condSíSíSí
$ifNullSíSíSí
$switchSíSíSí
Fases de canalización de agregación$addFieldsSíSíSí
$bucketNoN.ºN.º
$bucketAutoN.ºN.ºN.º
$changeStreamN.ºN.ºN.º
$changeStreamSplitLargeEventN.ºN.ºNo
$collStatsSíSíSí
$countSíSíSí
$densifyNoN.º
$documentsN.ºNo
$facetSíSíSí
$fillNoNo
$geoNearSíSíSí
$graphLookupSíSíSí
$groupSíSíSí
$indexStatsSíSíSí
$limitSíSíSí
$listSampledQueriesNoN.ºN.º
$listSearchIndexesN.ºN.ºN.º
$listSessionsN.ºN.ºNo
$lookupSíSíSí
$matchSíSíSí
$mergeNoN.ºN.º
$outN.ºN.ºN.º
$planCacheStatsN.ºN.ºNo
$projectSíSíSí
$redactNoN.ºNo
$replaceRootSíSíSí
$replaceWithSíSíSí
$sampleSíSíSí
$searchSíSíSí
$searchMetaSíSíSí
$setSíSíSí
$setWindowFieldsNoN.ºNo
$skipSíSíSí
$sortSíSíSí
$sortByCountSíSíSí
$unionWithNoN.ºNo
$unsetSíSíSí
$unwindSíSíSí
$shardedDataDistributionNoN.ºN.º
$changeStreamN.ºN.ºNo
$currentOpSíSíSí
$listLocalSessionsNoN.ºN.º
$documentsN.ºN.ºN.º
Variables en expresiones de agregaciónAHORANoN.ºNo
ROOTSíSíSí
REMOVESíSíSí
CURRENTSíSíSí
CLUSTER_TIMENoN.ºN.º
DESCENDN.ºN.ºN.º
PRUNEN.ºN.ºN.º
KEEPN.ºN.ºN.º
SEARCH_METAN.ºN.ºN.º
USER_ROLESN.ºN.º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í
Índices de caracteres comodínSí
Índice geoespacialSíEn versión preliminar*
Í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úsculasNo
DispersosSí
FondoSí

Pasos siguientes