Share via


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:

CategoriaComandoSupportata
Comandi di aggregazioneAggregatoSì
countSì
distinctSì
mapReduceDeprecato
Comandi di autenticazioneauthenticateSì
getnonceSì
logoutSì
Comandi geospazialigeoSearchDeprecato
Comandi della cache dei piani di queryNoNo
Comandi amministrativicloneCollectionAsCappedNoNo. Attualmente le raccolte con estremità non sono supportate.
collModSìParziale
compactNoNo
connPoolSyncDeprecato
convertToCappedNoNo. Attualmente le raccolte con estremità non sono supportate.
createSìParziale
createIndexesSì
currentOpSì
dropSì
dropDatabaseSì
dropConnectionsCome servizio PaaS, questo verrà gestito da Azure.
dropIndexesSì
filemd5NoNo
fsyncCome servizio PaaS, questo verrà gestito da Azure.
fsyncUnlockCome servizio PaaS, questo verrà gestito da Azure.
getDefaultRWConcernSì
getClusterParameterNoNo
getParameterSì
killCursorsSì
killOpSì
listCollectionsSì
listDatabasesSì
listIndexesSì
logRotateCome servizio PaaS, questo verrà gestito da Azure.
reIndexSì
renameCollectionSì
rotateCertificatesCome servizio PaaS, questo verrà gestito da Azure.
setFeatureCompatibilityVersionCome servizio PaaS, questo verrà gestito da Azure.
setIndexCommitQuorumNoNo
setParameterSìParziale
setDefaultRWConcernNoNo
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ì
isdbgridSì
reshardCollectionSì
shardCollectionSì
unsetShardingDeprecato
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
reshardCollectionNoNo
Comandi per le operazioni di query e scritturachange streamsNoNo
deleteSì
findSì
findAndModifySì
getLastErrorSì
getMoreSìParziale
insertSì
resetErrorDeprecato
updateSì
Comandi di sessioneabortTransactionSì
commitTransactionSì
endSessionsSì
killAllSessionsNoNo
killAllSessionsByPatternNoNo
killSessionsSì
refreshSessionsNoNo
startSessionSì
Comandi di diagnosticaavailableQueryOptionsNoNo
buildInfoSì
collStatsSì
connPoolStatsNoNo
connectionStatusSìParziale
dataSizeNoNo
dbHashNoNo
dbStatsSì
driverOIDTestCome servizio PaaS, questo verrà gestito da Azure.
explainSì
featuresCome servizio PaaS, questo verrà gestito da Azure.
getCmdLineOptsSì
getLogSì
hostInfoSìParziale
_isSelfNoNo
listCommandsSì
lockInfoNoNo
netstatNoNo
pingSì
profileCome servizio PaaS, questo verrà gestito da Azure.
serverStatusSì
shardConnPoolStatsDeprecato
topNoNo
validateSì
whatsmyuriSì
Comandi di controllo degli eventi di sistemalogApplicationMessageNoNo

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" funzionano solo con dimensioni del documento inferiori a 2 KB.

CategoriaOperatorSupportata
Operatori di query di confronto$eqSì
$gtSì
$gteSì
$inSì
$ltSì
$lteSì
$neSì
$ninSì
Operatori di query logiche$andSì
$notSì
$norSì
$orSì
Operatori di query sugli elementi$existsSì
$typeSì
Operatori di query di valutazione$exprSì
$jsonSchemaNoNo
$modSì
$regexSì
$textSì
$whereNoNo
Operatori geospazialiSìIn anteprima privata*
Operatori di query su matrici$allSì
$elemMatchSì
$sizeSì
Operatori di query bit per bit$bitsAllClearSì
$bitsAllSetSì
$bitsAnyClearSì
$bitsAnySetSì
Operatori di proiezione$Sì
$elemMatchSì
$metaSì
$sliceSì
Operatori di query varie$commentNoNo
$randSì
$naturalNoNo
Operatori di aggiornamento di campo$currentDateSì
$incSì
$minSì
$maxSì
$mulSì
$renameSì
$setSì
$setOnInsertSì
$unsetSì
Operatori di aggiornamento di matrice$Sì
$[]Sì
$[identifier]Sì
$addToSetSì
$popSì
$pullSì
$pushSì
$pullAllSì
$eachSì
$positionSì
$sliceSì
$sortSì
Operatore di aggiornamento bit per bit$bitSì
Operatori di espressioni aritmetiche$absSì
$addSì
$ceilSì
$divideSì
$expSì
$floorSì
$lnSì
$logSì
$log10Sì
$modSì
$multiplySì
$powSì
$roundSì
$sqrtSì
$subtractSì
$truncSì
Operatori di espressioni di matrici$arrayElemAtSì
$arrayToObjectSì
$concatArraysSì
$filterSì
$firstNSì
$inSì
$indexOfArraySì
$isArraySì
$lastNSì
$mapSì
$maxNNoNo
$minNNoNo
$objectToArraySì
$rangeSì
$reduceSì
$reverseArraySì
$sizeSì
$sliceSì
$sortArrayNoNo
$zipNoNo
Operatori bit per bit$bitAndSì
$bitNotSì
$bitOrSì
$bitXorSì
Operatori di espressioni booleane$andSì
$notSì
$orSì
Operatori di espressioni di confronto$cmpSì
$eqSì
$gtSì
$gteSì
$ltSì
$lteSì
$neSì
Operatori di espressioni di aggregazione personalizzatiNon supportato.
Operatori di dimensioni dati$bsonSizeSì
$binarySizeSì
Operatori di espressioni di date$dateAddSì
$dateDiffSì
$dateFromPartsSì
$dateFromStringSì
$dateSubtractSì
$dateToPartsSì
$dateToStringSì
$dateTruncSì
$dayOfMonthSì
$dayOfWeekSì
$dayOfYearSì
$hourSì
$isoDayOfWeekSì
$isoWeekSì
$isoWeekYearSì
$millisecondSì
$minuteSì
$monthSì
$secondSì
$toDateSì
$weekSì
$yearSì
Operatori di espressioni letterali$literalSì
Operatori vari$getFieldNoNo
$randSì
$sampleRateNoNo
Operatori di espressioni di oggetti$mergeObjectsSì
$objectToArraySì
$setFieldSì
Operatori di espressioni di impostazione$allElementsTrueSì
$anyElementTrueSì
$setDifferenceSì
$setEqualsSì
$setIntersectionSì
$setIsSubsetSì
$setUnionSì
Operatori di espressioni stringa$concatSì
$dateFromStringNoNo
$dateToStringSì
$indexOfBytesSì
$indexOfCPSì
$ltrimSì
$regexFindSì
$regexFindAllSì
$regexMatchSì
$replaceOneSì
$replaceAllSì
$rtrimSì
$splitSì
$strLenBytesSì
$strLenCPSì
$strcasecmpSì
$substrSì
$substrBytesSì
$substrCPSì
$toLowerSì
$toStringSì
$trimSì
$toUpperSì
Operatori di espressioni di testo$metaSì
Operatori di espressioni timestampNon supportato.
Operatori di espressioni di trigonometriaNon supportato.
Operatori di espressioni di tipo$convertSì
$isNumberSì
$toBoolSì
$toDateSì
$toDecimalSì
$toDoubleSì
$toIntSì
$toLongSì
$toObjectIdSì
$toStringSì
$typeSì
Accumulatori ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNoNo
$addToSetNoNo
$avgSì
$bottomNoNo
$bottomNNoNo
$countSì
$firstSì
$firstNSì
$lastSì
$lastNSì
$maxSì
$maxNNoNo
$medianNoNo
$mergeObjectsNoNo
$minSì
$percentileNoNo
$pushNoNo
$stdDevPopNoNo
$stdDevSampNoNo
$sumSì
$topNoNo
$topNNoNo
Accumulatori (in altre fasi)$avgNoNo
$firstSì
$lastSì
$maxNoNo
$medianNoNo
$minNoNo
$percentileNoNo
$stdDevPopNoNo
$stdDevSampNoNo
$sumNoNo
Operatori di espressioni di variabileNon supportato.
Operatori di finestraNon supportato.
Operatori di espressioni condizionali$condSì
$ifNullSì
$switchSì
Fasi della pipeline di aggregazione$addFieldsSì
$bucketNoNo
$bucketAutoNoNo
$changeStreamNoNo
$changeStreamSplitLargeEventNoNo
$collStatsSì
$countSì
$densifyNoNo
$documentsNoNo
$facetSì
$fillNoNo
$geoNearNoNo
$graphLookupSì
$groupSì
$indexStatsSì
$limitSì
$listSampledQueriesNoNo
$listSearchIndexesNoNo
$listSessionsNoNo
$lookupSì
$matchSì
$mergeNoNo
$outNoNo
$planCacheStatsNoNo
$projectSì
$redactNoNo
$replaceRootSì
$replaceWithSì
$sampleSì
$searchSì
$searchMetaSì
$setSì
$setWindowFieldsNoNo
$skipSì
$sortSì
$sortByCountSì
$unionWithNoNo
$unsetSì
$unwindSì
$shardedDataDistributionNoNo
$changeStreamNoNo
$currentOpSì
$listLocalSessionsNoNo
$documentsNumeroNo

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 geospazialeSìIn anteprima privata*
Hashed IndexSì
Indice vettoriale (disponibile solo in Cosmos DB)SìSì, con ricerca vettoriale

Proprietà degli indici

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

Passaggi successivi