Поделиться через


Поддержка совместимости и компонентов MongoDB с помощью Azure Cosmos DB для виртуальных ядер MongoDB

Область применения: Виртуальные ядра MongoDB

Azure Cosmos DB для виртуальных ядер MongoDB позволяет испытать знакомые преимущества MongoDB при доступе к расширенным корпоративным функциям, предлагаемым Azure Cosmos DB. Он обеспечивает совместимость, следуя протоколу проводной передачи MongoDB, что позволяет использовать существующие клиентские драйверы, пакеты SDK и другие средства, с которыми вы уже знакомы.

Поддержка протоколов

Здесь перечислены поддерживаемые операторы и все ограничения или исключения. Любой драйвер клиента, который понимает эти протоколы, должен иметь возможность подключаться к Azure Cosmos DB для MongoDB. При создании кластеров виртуальных ядер Azure Cosmos DB для MongoDB конечная точка находится в формате *.mongocluster.cosmos.azure.com.

Поддержка языка запросов

Azure Cosmos DB для MongoDB обеспечивает комплексную поддержку конструкций языка запросов MongoDB. Ниже приведен подробный список поддерживаемых в настоящее время команд базы данных, операторов, этапов и параметров.

Примечание.

В этой статье приведены только поддерживаемые серверные команды и не указаны функции-оболочки на стороне клиента. Функции-оболочки на стороне клиента, такие как deleteMany() и updateMany(), внутренне используют серверные команды delete() и update(). Функции, использующие поддерживаемые команды сервера, совместимы с Azure Cosmos DB для MongoDB.

Команды базы данных

Azure Cosmos DB для виртуальных ядер MongoDB поддерживает следующие команды базы данных:

КатегорияCommandКомпонент
v5.0v6.0v7.0
Команды агрегированиясовокупностьДаДаДа
countДаДаДа
distinctДаДаДа
mapReduceНе рекомендуется использовать в MongoDB 5.0
Команды проверки подлинностиauthenticateДаДаДа
getnonceНе рекомендуется использовать в MongoDB 4.0
logoutНе рекомендуется использовать в MongoDB 5.0
Геопространственные командыgeoSearchНе рекомендуется использовать в MongoDB 5.0
Команды кэша плана запросовNoNoNo
Административные командыcloneCollectionAsCappedNoНет, в настоящее время не поддерживаются сопоставленные коллекции.
collModДаДаДа
compactNoNoNo
convertToCappedNoНет. В настоящее время не поддерживаются сопоставленные коллекции.
createДаДаДа
createIndexesДаДаДа
currentOpДаДаДа
dropДаДаДа
dropDatabaseДаДаДа
dropConnectionsВ качестве службы PaaS это будет управляться Azure.
dropIndexesДаДаДа
filemd5NoNoNo
fsyncВ качестве службы PaaS это будет управляться Azure.
fsyncUnlockВ качестве службы PaaS это будет управляться Azure.
getDefaultRWConcernДаДаДа
getClusterParameterNoNo
getParameterДаДаДа
killCursorsДаДаДа
killOpДаДаДа
listCollectionsДаДаДа
listDatabasesДаДаДа
listIndexesДаДаДа
logRotateВ качестве службы PaaS это будет управляться Azure.
reIndexДаДаДа
renameCollectionДаДаДа
rotateCertificatesВ качестве службы PaaS это будет управляться Azure.
setFeatureCompatibilityVersionВ качестве службы PaaS это будет управляться Azure.
setIndexCommitQuorumNoNoNo
setParameterДаДаДа
setDefaultRWConcernNoNoNo
shutdownВ качестве службы PaaS это будет управляться Azure.
Команды управления пользователями и ролямиСейчас не поддерживается, но в будущем будет доступен с помощью Azure Active Directory.
Команды репликацииAzure управляет репликацией, удаляя необходимость репликации клиентами вручную.
Команды сегментированияenableShardingДаДаДа
isdbgridДаДаДа
reshardCollectionДаДаДа
shardCollectionДаДаДа
unsetShardingНе рекомендуется использовать в MongoDB 5.0
addShardКак предложение "Платформа как услуга" (PaaS) Azure управляет управлением сегментами и перебалансированием. Пользователям необходимо указать стратегию сегментирования для коллекций, а Azure будет обрабатывать остальные.
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
Команды операций запроса и записиchange streamsNoNoNo
deleteДаДаДа
findДаДаДа
findAndModifyДаДаДа
getLastErrorНе рекомендуется использовать в MongoDB 5.1
getMoreДаДаДа
insertДаДаДа
resetErrorНе рекомендуется использовать в MongoDB 5.0
updateДаДаДа
Команды сеансаabortTransactionДаДаДа
commitTransactionДаДаДа
endSessionsДаДаДа
killAllSessionsNoNoNo
killAllSessionsByPatternNoNoNo
killSessionsДаДаДа
refreshSessionsNoNoNo
startSessionДаДаДа
Команды диагностикиavailableQueryOptionsNoNoNo
buildInfoДаДаДа
collStatsДаДаДа
connPoolStatsNoNoNo
connectionStatusДаДаДа
dataSizeNoNoNo
dbHashNoNoNo
dbStatsДаДаДа
driverOIDTestВ качестве службы PaaS это будет управляться Azure.
explainДаДаДа
featuresВ качестве службы PaaS это будет управляться Azure.
getCmdLineOptsДаДаДа
getLogДаДаДа
helloДаДаДа
hostInfoДаДаДа
_isSelfNoNoNo
listCommandsДаДаДа
lockInfoNoNoNo
netstatNoNoNo
pingДаДаДа
profileВ качестве службы PaaS это будет управляться Azure.
serverStatusNoNoNo
shardConnPoolStatsНе рекомендуется использовать в MongoDB 5.0
topNoNoNo
validateДаДаДа
whatsmyuriДаДаДа
Команды аудита системных событийlogApplicationMessageNoNoNo

Операторы

Ниже приведен список операторов, поддерживаемых в Настоящее время в Azure Cosmos DB для виртуальных ядер MongoDB:

Примечание.

AvgObjsize и size в collStats и dbStats работают только с размером документа менее 2 КБ.

КатегорияCommandКомпонент
v5.0v6.0v7.0
Операторы запросов сравнения$eqДаДаДа
$gtДаДаДа
$gteДаДаДа
$inДаДаДа
$ltДаДаДа
$lteДаДаДа
$neДаДаДа
$ninДаДаДа
Операторы логических запросов$andДаДаДа
$notДаДаДа
$norДаДаДа
$orДаДаДа
Операторы запросов элементов$existsДаДаДа
$typeДаДаДа
Операторы запросов оценки$exprДаДаДа
$jsonSchemaNoNoNo
$modДаДаДа
$regexДаДаДа
$textДаДаДа
$whereNoNoNo
Геопространственные операторы$geoIntersectsДаДаДа
$geoWithinДаДаДа
$boxДаДаДа
$centerДаДаДа
$centerSphereДаДаДа
$geometryДаДаДа
$maxDistanceДаДаДа
$minDistanceДаДаДа
$polygonДаДаДа
$nearДаДаДа
$nearSphereДаДаДа
Операторы запросов массива$allДаДаДа
$elemMatchДаДаДа
$sizeДаДаДа
Побитовые операторы запросов$bitsAllClearДаДаДа
$bitsAllSetДаДаДа
$bitsAnyClearДаДаДа
$bitsAnySetДаДаДа
Операторы проекции$ДаДаДа
$elemMatchДаДаДа
$metaДаДаДа
$sliceДаДаДа
Другие операторы запросов$commentNoNoNo
$randДаДаДа
$naturalNoNoNo
Операторы обновления полей$currentDateДаДаДа
$incДаДаДа
$minДаДаДа
$maxДаДаДа
$mulДаДаДа
$renameДаДаДа
$setДаДаДа
$setOnInsertДаДаДа
$unsetДаДаДа
Операторы обновления массива$ДаДаДа
$[]ДаДаДа
$[identifier]ДаДаДа
$addToSetДаДаДа
$popДаДаДа
$pullДаДаДа
$pushДаДаДа
$pullAllДаДаДа
$eachДаДаДа
$positionДаДаДа
$sliceДаДаДа
$sortДаДаДа
Операторы побитового обновления$bitДаДаДа
Арифметические операторы выражений$absДаДаДа
$addДаДаДа
$ceilДаДаДа
$divideДаДаДа
$expДаДаДа
$floorДаДаДа
$lnДаДаДа
$logДаДаДа
$log10ДаДаДа
$modДаДаДа
$multiplyДаДаДа
$powДаДаДа
$roundДаДаДа
$sqrtДаДаДа
$subtractДаДаДа
$truncДаДаДа
Операторы выражений массива$arrayElemAtДаДаДа
$arrayToObjectДаДаДа
$concatArraysДаДаДа
$filterДаДаДа
$firstNДаДаДа
$inДаДаДа
$indexOfArrayДаДаДа
$isArrayДаДаДа
$lastNДаДаДа
$mapДаДаДа
$maxNДаДа
$minNДаДа
$objectToArrayДаДаДа
$rangeДаДаДа
$reduceДаДаДа
$reverseArrayДаДаДа
$sizeДаДаДа
$sliceДаДаДа
$sortArrayДаДа
$zipДаДаДа
Битовые операторы$bitAndДаДаДа
$bitNotДаДаДа
$bitOrДаДаДа
$bitXorДаДаДа
Логические операторы выражений$andДаДаДа
$notДаДаДа
$orДаДаДа
Операторы выражений сравнения$cmpДаДаДа
$eqДаДаДа
$gtДаДаДа
$gteДаДаДа
$ltДаДаДа
$lteДаДаДа
$neДаДаДа
Пользовательские операторы выражения агрегированияФункция пока не поддерживается.
Операторы размера данных$bsonSizeДаДаДа
$binarySizeДаДаДа
Операторы выражения даты$dateAddДаДаДа
$dateDiffДаДаДа
$dateFromPartsДаДаДа
$dateFromStringДаДаДа
$dateSubtractДаДаДа
$dateToPartsДаДаДа
$dateToStringДаДаДа
$dateTruncДаДаДа
$dayOfMonthДаДаДа
$dayOfWeekДаДаДа
$dayOfYearДаДаДа
$hourДаДаДа
$isoDayOfWeekДаДаДа
$isoWeekДаДаДа
$isoWeekYearДаДаДа
$millisecondДаДаДа
$minuteДаДаДа
$monthДаДаДа
$secondДаДаДа
$toDateДаДаДа
$weekДаДаДа
$yearДаДаДа
Оператор литерального выражения$literalДаДаДа
Прочие операторы$getFieldДаДаДа
$randДаДаДа
$sampleRateДаДаДа
Операторы выражений объектов$mergeObjectsДаДаДа
$objectToArrayДаДаДа
$setFieldДаДаДа
Установка операторов выражений$allElementsTrueДаДаДа
$anyElementTrueДаДаДа
$setDifferenceДаДаДа
$setEqualsДаДаДа
$setIntersectionДаДаДа
$setIsSubsetДаДаДа
$setUnionДаДаДа
Операторы строковых выражений$concatДаДаДа
$dateFromStringДаДаДа
$dateToStringДаДаДа
$indexOfBytesДаДаДа
$indexOfCPДаДаДа
$ltrimДаДаДа
$regexFindДаДаДа
$regexFindAllДаДаДа
$regexMatchДаДаДа
$replaceOneДаДаДа
$replaceAllДаДаДа
$rtrimДаДаДа
$splitДаДаДа
$strLenBytesДаДаДа
$strLenCPДаДаДа
$strcasecmpДаДаДа
$substrДаДаДа
$substrBytesДаДаДа
$substrCPДаДаДа
$toLowerДаДаДа
$toStringДаДаДа
$trimДаДаДа
$toUpperДаДаДа
Оператор выражения текста$metaДаДаДа
Операторы выражений метки времени$tsIncrementДаДаДа
$tsSecondДаДаДа
Операторы выражений Trigonometry$sinДаДаДа
$cosДаДаДа
$tanДаДаДа
$asinДаДаДа
$acosДаДаДа
$atanДаДаДа
$atan2ДаДаДа
$asinhДаДаДа
$acoshДаДаДа
$atanhДаДаДа
$sinhДаДаДа
$coshДаДаДа
$tanhДаДаДа
$degreesToRadiansДаДаДа
$radiansToDegreesДаДаДа
Операторы выражений типа$convertДаДаДа
$isNumberДаДаДа
$toBoolДаДаДа
$toDateДаДаДа
$toDecimalДаДаДа
$toDoubleДаДаДа
$toIntДаДаДа
$toLongДаДаДа
$toObjectIdДаДаДа
$toStringДаДаДа
$typeДаДаДа
Накопительные ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNoNoNo
$addToSetДаДаДа
$avgДаДаДа
$bottomДаДа
$bottomNДаДа
$countДаДаДа
$firstДаДаДа
$firstNДаДаДа
$lastДаДаДа
$lastNДаДаДа
$maxДаДаДа
$maxNДаДа
$medianNoNoNo
$mergeObjectsДаДаДа
$minДаДаДа
$percentileNoNoNo
$pushДаДаДа
$stdDevPopДаДаДа
$stdDevSampДаДаДа
$sumДаДаДа
$topДаДа
$topNДаДа
Аккумуляторы (на других этапах)$avgДаДаДа
$firstДаДаДа
$lastДаДаДа
$maxДаДаДа
$medianNoNoNo
$minДаДаДа
$percentileNoNoNo
$stdDevPopДаДаДа
$stdDevSampДаДаДа
$sumДаДаДа
Операторы выражений переменной$letДаДаДа
Операторы окон$sumДаДаДа
$pushДаДаДа
$addToSetДаДаДа
$countДаДаДа
$maxДаДаДа
$minДаДаДа
$avgДаДаДа
$stdDevPopДаДаДа
$bottomДаДаДа
$bottomNДаДаДа
$covariancePopДаДаДа
$covarianceSampДаДаДа
$denseRankДаДаДа
$derivativeДаДаДа
$documentNumberДаДаДа
$expMovingAvgДаДаДа
$firstДаДаДа
$integralДаДаДа
$lastДаДаДа
$linearFillДаДаДа
$locfДаДаДа
$minNДаДаДа
$rankДаДаДа
$shiftДаДаДа
$stdDevSampДаДаДа
$topДаДаДа
$topNДаДаДа
Операторы условного выражения$condДаДаДа
$ifNullДаДаДа
$switchДаДаДа
Этапы конвейера агрегирования$addFieldsДаДаДа
$bucketДаДаДа
$bucketAutoNoNoNo
$changeStreamNoNoNo
$changeStreamSplitLargeEventNoNoNo
$collStatsДаДаДа
$countДаДаДа
$densifyДаДа
$documentsNoNo
$facetДаДаДа
$fillДаДа
$geoNearДаДаДа
$graphLookupДаДаДа
$groupДаДаДа
$indexStatsДаДаДа
$limitДаДаДа
$listSampledQueriesNoNoNo
$listSearchIndexesNoNoNo
$listSessionsNoNoNo
$lookupДаДаДа
$matchДаДаДа
$mergeДаДаДа
$outДаДаДа
$planCacheStatsNoNoNo
$projectДаДаДа
$redactNoNoNo
$replaceRootДаДаДа
$replaceWithДаДаДа
$sampleДаДаДа
$searchДаДаДа
$searchMetaДаДаДа
$setДаДаДа
$setWindowFieldsДаДаДа
$skipДаДаДа
$sortДаДаДа
$sortByCountДаДаДа
$unionWithNoNoNo
$unsetДаДаДа
$unwindДаДаДа
$shardedDataDistributionNoNoNo
$changeStreamNoNoNo
$currentOpДаДаДа
$listLocalSessionsNoNoNo
$documentsNoNoНет
Переменные в выражениях агрегированияСЕЙЧАСNoNoNo
ROOTДаДаДа
REMOVEДаДаДа
CURRENTДаДаДа
CLUSTER_TIMENoNoNo
DESCENDNoNoNo
PRUNENoNoNo
KEEPNoNoNo
SEARCH_METANoNoNo
USER_ROLESNoNoNo

Индексы и свойства индекса

Azure Cosmos DB для виртуальных ядер MongoDB поддерживает следующие индексы и свойства индекса:

Примечание.

Создание уникального индекса получает монопольную блокировку коллекции на весь период процесса сборки. Это блокирует операции чтения и записи в коллекции до завершения операции.

Индексы

КомандаПоддерживается
Индекс одного поляДа
Составной индексДа
Многоключевой индексДа
Текстовый индексДа
Индекс подстановочных знаковДа
Геопространственный индексДа
Хэшированный индексДа
Векторный индекс (доступен только в Cosmos DB)ДаДа, с векторным поиском

Свойства индекса

КомандаПоддерживается
СРОК ЖИЗНИДа
УникальныйДа
ЧастичноДа
Без учета регистраNo
РазреженныйДа
Общие сведенияДа

Следующие шаги