Поддержка совместимости и компонентов 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.0 | v6.0 | v7.0 | ||
Команды агрегирования | совокупность | |||
count | ||||
distinct | ||||
mapReduce | Не рекомендуется использовать в MongoDB 5.0 | |||
Команды проверки подлинности | authenticate | |||
getnonce | Не рекомендуется использовать в MongoDB 4.0 | |||
logout | Не рекомендуется использовать в MongoDB 5.0 | |||
Геопространственные команды | geoSearch | Не рекомендуется использовать в MongoDB 5.0 | ||
Команды кэша плана запросов | ||||
Административные команды | cloneCollectionAsCapped | Нет, в настоящее время не поддерживаются сопоставленные коллекции. | ||
collMod | ||||
compact | ||||
convertToCapped | Нет. В настоящее время не поддерживаются сопоставленные коллекции. | |||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | В качестве службы PaaS это будет управляться Azure. | |||
dropIndexes | ||||
filemd5 | ||||
fsync | В качестве службы PaaS это будет управляться Azure. | |||
fsyncUnlock | В качестве службы PaaS это будет управляться Azure. | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | В качестве службы PaaS это будет управляться Azure. | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | В качестве службы PaaS это будет управляться Azure. | |||
setFeatureCompatibilityVersion | В качестве службы PaaS это будет управляться Azure. | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
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 streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | Не рекомендуется использовать в MongoDB 5.1 | |||
getMore | ||||
insert | ||||
resetError | Не рекомендуется использовать в MongoDB 5.0 | |||
update | ||||
Команды сеанса | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
Команды диагностики | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | В качестве службы PaaS это будет управляться Azure. | |||
explain | ||||
features | В качестве службы PaaS это будет управляться Azure. | |||
getCmdLineOpts | ||||
getLog | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | В качестве службы PaaS это будет управляться Azure. | |||
serverStatus | ||||
shardConnPoolStats | Не рекомендуется использовать в MongoDB 5.0 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
Команды аудита системных событий | logApplicationMessage |
Операторы
Ниже приведен список операторов, поддерживаемых в Настоящее время в Azure Cosmos DB для виртуальных ядер MongoDB:
Примечание.
AvgObjsize и size в collStats и dbStats работают только с размером документа менее 2 КБ.
Категория | Command | Компонент | ||
v5.0 | v6.0 | v7.0 | ||
Операторы запросов сравнения | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
Операторы логических запросов | $and | |||
$not | ||||
$nor | ||||
$or | ||||
Операторы запросов элементов | $exists | |||
$type | ||||
Операторы запросов оценки | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
Геопространственные операторы | $geoIntersects | |||
$geoWithin | ||||
$box | ||||
$center | ||||
$centerSphere | ||||
$geometry | ||||
$maxDistance | ||||
$minDistance | ||||
$polygon | ||||
$near | ||||
$nearSphere | ||||
Операторы запросов массива | $all | |||
$elemMatch | ||||
$size | ||||
Побитовые операторы запросов | $bitsAllClear | |||
$bitsAllSet | ||||
$bitsAnyClear | ||||
$bitsAnySet | ||||
Операторы проекции | $ | |||
$elemMatch | ||||
$meta | ||||
$slice | ||||
Другие операторы запросов | $comment | |||
$rand | ||||
$natural | ||||
Операторы обновления полей | $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) | $accumulator | |||
$addToSet | ||||
$avg | ||||
$bottom | ||||
$bottomN | ||||
$count | ||||
$first | ||||
$firstN | ||||
$last | ||||
$lastN | ||||
$max | ||||
$maxN | ||||
$median | ||||
$mergeObjects | ||||
$min | ||||
$percentile | ||||
$push | ||||
$stdDevPop | ||||
$stdDevSamp | ||||
$sum | ||||
$top | ||||
$topN | ||||
Аккумуляторы (на других этапах) | $avg | |||
$first | ||||
$last | ||||
$max | ||||
$median | ||||
$min | ||||
$percentile | ||||
$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 | ||||
$bucketAuto | ||||
$changeStream | ||||
$changeStreamSplitLargeEvent | ||||
$collStats | ||||
$count | ||||
$densify | ||||
$documents | ||||
$facet | ||||
$fill | ||||
$geoNear | ||||
$graphLookup | ||||
$group | ||||
$indexStats | ||||
$limit | ||||
$listSampledQueries | ||||
$listSearchIndexes | ||||
$listSessions | ||||
$lookup | ||||
$match | ||||
$merge | ||||
$out | ||||
$planCacheStats | ||||
$project | ||||
$redact | ||||
$replaceRoot | ||||
$replaceWith | ||||
$sample | ||||
$search | ||||
$searchMeta | ||||
$set | ||||
$setWindowFields | ||||
$skip | ||||
$sort | ||||
$sortByCount | ||||
$unionWith | ||||
$unset | ||||
$unwind | ||||
$shardedDataDistribution | ||||
$changeStream | ||||
$currentOp | ||||
$listLocalSessions | ||||
$documents | ||||
Переменные в выражениях агрегирования | СЕЙЧАС | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
Индексы и свойства индекса
Azure Cosmos DB для виртуальных ядер MongoDB поддерживает следующие индексы и свойства индекса:
Примечание.
Создание уникального индекса получает монопольную блокировку коллекции на весь период процесса сборки. Это блокирует операции чтения и записи в коллекции до завершения операции.
Индексы
Свойства индекса
Команда | Поддерживается |
СРОК ЖИЗНИ | |
Уникальный | |
Частично | |
Без учета регистра | |
Разреженный | |
Общие сведения |