Condividi tramite


Compatibilità e supporto delle funzionalità di MongoDB con Azure Cosmos DB for MongoDB vCore

SI APPLICA A: MongoDB vCore

Azure Cosmos DB for MongoDB vCore consente di sperimentare i vantaggi noti di MongoDB durante l'accesso alle funzionalità aziendali avanzate offerte da Azure Cosmos DB. Garantisce la compatibilità seguendo il protocollo di collegamento MongoDB, consentendo di sfruttare driver client, SDK e altri strumenti esistenti con cui si ha già familiarità.

Supporto del protocollo

Gli operatori supportati con i relativi limiti ed eccezioni sono elencati qui. I driver client che identificano questi protocolli dovrebbero essere in grado di collegarsi ad Azure Cosmos DB for MongoDB. Quando si creano cluster vCore di Azure Cosmos DB for MongoDB, l'endpoint è nel formato *.mongocluster.cosmos.azure.com.

Linguaggi di query supportati

Azure Cosmos DB for MongoDB offre il supporto completo dei costrutti del linguaggio di query MongoDB. Di seguito è possibile trovare l'elenco dettagliato dei comandi, degli operatori, delle fasi e delle opzioni di database attualmente supportati.

Nota

Questo articolo elenca solo i comandi server supportati e non le funzioni wrapper lato client. Le funzioni wrapper lato client come deleteMany() e updateMany() utilizzano internamente i comandi server delete() e update(). Le funzioni che utilizzano i comandi server supportati sono compatibili con Azure Cosmos DB for MongoDB.

Comandi del database

Azure Cosmos DB for MongoDB vCore supporta i comandi di database seguenti:

CategoriaComandoFunzionalità
v5.0v6.0v7.0
Comandi di aggregazioneAggregatoSìSìSì
countSìSìSì
distinctSìSìSì
mapReduceDeprecato in MongoDB 5.0
Comandi di autenticazioneauthenticateSìSìSì
getnonceSìSìSì
logoutSìSìSì
Comandi geospazialigeoSearchDeprecato in MongoDB 5.0
Comandi della cache dei piani di queryNoNoNo
Comandi amministrativicloneCollectionAsCappedNoNo, attualmente le raccolte con estremità non sono supportate.
collModSìSìSì
compactNoNoNo
convertToCappedNoNo. Attualmente le raccolte con estremità non sono supportate.
createSìSìSì
createIndexesSìSìSì
currentOpSìSìSì
dropSìSìSì
dropDatabaseSìSìSì
dropConnectionsCome servizio PaaS, questo verrà gestito da Azure.
dropIndexesSìSìSì
filemd5NoNoNo
fsyncCome servizio PaaS, questo verrà gestito da Azure.
fsyncUnlockCome servizio PaaS, questo verrà gestito da Azure.
getDefaultRWConcernSìSìSì
getClusterParameterNoNo
getParameterSìSìSì
killCursorsSìSìSì
killOpSìSìSì
listCollectionsSìSìSì
listDatabasesSìSìSì
listIndexesSìSìSì
logRotateCome servizio PaaS, questo verrà gestito da Azure.
reIndexSìSìSì
renameCollectionSìSìSì
rotateCertificatesCome servizio PaaS, questo verrà gestito da Azure.
setFeatureCompatibilityVersionCome servizio PaaS, questo verrà gestito da Azure.
setIndexCommitQuorumNoNoNo
setParameterSìSìSì
setDefaultRWConcernNoNoNo
shutdownCome servizio PaaS, questo verrà gestito da Azure.
Comandi di gestione di utenti e ruoliNon supportato oggi, ma sarà reso disponibile tramite Azure Active Directory in futuro.
Comandi di replicaAzure gestisce la replica, rimuovendo la necessità per i clienti di replicare manualmente.
Comandi di partizionamento orizzontaleenableShardingSìSìSì
isdbgridSìSìSì
reshardCollectionSìSìSì
shardCollectionSìSìSì
unsetShardingDeprecato in MongoDB 5.0
addShardCome offerta PaaS (Platform-as-a-Service), Azure gestisce la gestione delle partizioni e il ribilanciamento. Gli utenti devono specificare solo la strategia di partizionamento orizzontale per le raccolte e Azure gestirà il 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
Comandi per le operazioni di query e scritturachange streamsNoNoNo
deleteSìSìSì
findSìSìSì
findAndModifySìSìSì
getLastErrorSìSìSì
getMoreSìSìSì
insertSìSìSì
resetErrorDeprecato in MongoDB 5.0
updateSìSìSì
Comandi di sessioneabortTransactionSìSìSì
commitTransactionSìSìSì
endSessionsSìSìSì
killAllSessionsNoNoNo
killAllSessionsByPatternNoNoNo
killSessionsSìSìSì
refreshSessionsNoNoNo
startSessionSìSìSì
Comandi di diagnosticaavailableQueryOptionsNoNoNo
buildInfoSìSìSì
collStatsSìSìSì
connPoolStatsNoNoNo
connectionStatusSìSìSì
dataSizeNoNoNo
dbHashNoNoNo
dbStatsSìSìSì
driverOIDTestCome servizio PaaS, questo verrà gestito da Azure.
explainSìSìSì
featuresCome servizio PaaS, questo verrà gestito da Azure.
getCmdLineOptsSìSìSì
getLogSìSìSì
hostInfoSìSìSì
_isSelfNoNoNo
listCommandsSìSìSì
lockInfoNoNoNo
netstatNoNoNo
pingSìSìSì
profileCome servizio PaaS, questo verrà gestito da Azure.
serverStatusSìSìSì
shardConnPoolStatsDeprecato in MongoDB 5.0
topNoNoNo
validateSìSìSì
whatsmyuriSìSìSì
Comandi di controllo degli eventi di sistemalogApplicationMessageNoNoNo

Operatori

Di seguito è riportato l'elenco degli operatori attualmente supportati in Azure Cosmos DB for MongoDB vCore:

Nota

L'aggregazione $lookup non supporta ancora l'uso di espressioni di variabile tramite "let". AvgObjsize e le dimensioni in "collStats" e “dbStats” funzionano solo con dimensioni del documento inferiori a 2 KB.

CategoriaComandoFunzionalità
v5.0v6.0v7.0
Operatori di query di confronto$eqSìSìSì
$gtSìSìSì
$gteSìSìSì
$inSìSìSì
$ltSìSìSì
$lteSìSìSì
$neSìSìSì
$ninSìSìSì
Operatori di query logiche$andSìSìSì
$notSìSìSì
$norSìSìSì
$orSìSìSì
Operatori di query sugli elementi$existsSìSìSì
$typeSìSìSì
Operatori di query di valutazione$exprSìSìSì
$jsonSchemaNoNoNo
$modSìSìSì
$regexSìSìSì
$textSìSìSì
$whereNoNoNo
Operatori geospaziali$geoIntersectsSìIn anteprima*
$geoWithin
$box
$center
$centerSphere
$geometry
$maxDistance
$minDistance
$polygon
$near
$nearSphere
Operatori di query su matrici$allSìSìSì
$elemMatchSìSìSì
$sizeSìSìSì
Operatori di query bit per bit$bitsAllClearSìSìSì
$bitsAllSetSìSìSì
$bitsAnyClearSìSìSì
$bitsAnySetSìSìSì
Operatori di proiezione$SìSìSì
$elemMatchSìSìSì
$metaSìSìSì
$sliceSìSìSì
Operatori di query varie$commentNoNoNo
$randSìSìSì
$naturalNoNoNo
Operatori di aggiornamento di 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ì
Operatori di aggiornamento di matrice$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ì
Operatore di aggiornamento bit per bit$bitSìSìSì
Operatori di espressioni aritmetiche$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ì
Operatori di espressioni di matrici$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ì
$maxNNoNo
$minNNoNo
$objectToArraySìSìSì
$rangeSìSìSì
$reduceSìSìSì
$reverseArraySìSìSì
$sizeSìSìSì
$sliceSìSìSì
$sortArrayNoNo
$zipNoNoNo
Operatori bit per bit$bitAndSìSìSì
$bitNotSìSìSì
$bitOrSìSìSì
$bitXorSìSìSì
Operatori di espressioni booleane$andSìSìSì
$notSìSìSì
$orSìSìSì
Operatori di espressioni di confronto$cmpSìSìSì
$eqSìSìSì
$gtSìSìSì
$gteSìSìSì
$ltSìSìSì
$lteSìSìSì
$neSìSìSì
Operatori di espressioni di aggregazione personalizzatiNon ancora supportato.
Operatori di dimensioni dati$bsonSizeSìSìSì
$binarySizeSìSìSì
Operatori di espressioni di date$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ì
Operatori di espressioni letterali$literalSìSìSì
Operatori vari$getFieldNoNoNo
$randSìSìSì
$sampleRateNoNoNo
Operatori di espressioni di oggetti$mergeObjectsSìSìSì
$objectToArraySìSìSì
$setFieldSìSìSì
Operatori di espressioni di impostazione$allElementsTrueSìSìSì
$anyElementTrueSìSìSì
$setDifferenceSìSìSì
$setEqualsSìSìSì
$setIntersectionSìSìSì
$setIsSubsetSìSìSì
$setUnionSìSìSì
Operatori di espressioni stringa$concatSìSìSì
$dateFromStringNoNoNo
$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ì
Operatori di espressioni di testo$metaSìSìSì
Operatori di espressioni timestamp$tsIncrementSìSìSì
$tsSecondSìSìSì
Operatori di espressioni di trigonometriaNon ancora supportato.
Operatori di espressioni di 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ì
Accumulatori ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNoNoNo
$addToSetSìSìSì
$avgSìSìSì
$bottomNoNo
$bottomNNoNo
$countSìSìSì
$firstSìSìSì
$firstNSìSìSì
$lastSìSìSì
$lastNSìSìSì
$maxSìSìSì
$maxNNoNo
$medianNoNoNo
$mergeObjectsSìSìSì
$minSìSìSì
$percentileNoNoNo
$pushSìSìSì
$stdDevPopNoNoNo
$stdDevSampNoNoNo
$sumSìSìSì
$topNoNo
$topNNoNo
Accumulatori (in altre fasi)$avgNoNoNo
$firstSìSìSì
$lastSìSìSì
$maxNoNoNo
$medianNoNoNo
$minNoNoNo
$percentileNoNoNo
$stdDevPopNoNoNo
$stdDevSampNoNoNo
$sumNoNoNo
Operatori di espressioni di variabileNon ancora supportato.
Operatori di finestraNon ancora supportato.
Operatori di espressioni condizionali$condSìSìSì
$ifNullSìSìSì
$switchSìSìSì
Fasi della pipeline di aggregazione$addFieldsSìSìSì
$bucketNoNoNo
$bucketAutoNoNoNo
$changeStreamNoNoNo
$changeStreamSplitLargeEventNoNoNo
$collStatsSìSìSì
$countSìSìSì
$densifyNoNo
$documentsNoNo
$facetSìSìSì
$fillNoNo
$geoNearSìSìSì
$graphLookupSìSìSì
$groupSìSìSì
$indexStatsSìSìSì
$limitSìSìSì
$listSampledQueriesNoNoNo
$listSearchIndexesNoNoNo
$listSessionsNoNoNo
$lookupSìSìSì
$matchSìSìSì
$mergeNoNoNo
$outNoNoNo
$planCacheStatsNoNoNo
$projectSìSìSì
$redactNoNoNo
$replaceRootSìSìSì
$replaceWithSìSìSì
$sampleSìSìSì
$searchSìSìSì
$searchMetaSìSìSì
$setSìSìSì
$setWindowFieldsNoNoNo
$skipSìSìSì
$sortSìSìSì
$sortByCountSìSìSì
$unionWithNoNoNo
$unsetSìSìSì
$unwindSìSìSì
$shardedDataDistributionNoNoNo
$changeStreamNoNoNo
$currentOpSìSìSì
$listLocalSessionsNoNoNo
$documentsNoNoNumero
Variabili nelle espressioni di aggregazioneNOWNoNoNo
ROOTSìSìSì
REMOVESìSìSì
CURRENTSìSìSì
CLUSTER_TIMENoNoNo
DESCENDNoNoNo
PRUNENoNoNo
KEEPNoNoNo
SEARCH_METANoNoNo
USER_ROLESNoNoNo

Indici e proprietà degli indici

Azure Cosmos DB for MongoDB vCore supporta gli indici e le proprietà di indice seguenti:

Nota

La creazione di un indice univoco ottiene un blocco esclusivo sulla raccolta per l'intera durata del processo di compilazione. Questo blocca le operazioni di lettura e scrittura nella raccolta fino al completamento dell'operazione.

Indici

ComandoSupportata
Single Field IndexSì
Compound IndexSì
Multikey IndexSì
Text IndexSì
Indice dei caratteri jollySì
Indice geospazialeSìIn anteprima*
Hashed IndexSì
Indice vettoriale (disponibile solo in Cosmos DB)SìSì, con ricerca vettoriale

Proprietà degli indici

ComandoSupportata
TTLSì
UnicaSì
ParzialeSì
Case InsensitiveNo
SparseSì
BackgroundSì

Passaggi successivi