Zgodność z bazą danych MongoDB i obsługa funkcji w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB
DOTYCZY: Rdzenie wirtualne bazy danych MongoDB
Rdzenie wirtualne usługi Azure Cosmos DB dla bazy danych MongoDB umożliwiają zapoznanie się ze znanymi zaletami bazy danych MongoDB podczas uzyskiwania dostępu do rozszerzonych funkcji przedsiębiorstwa oferowanych przez usługę Azure Cosmos DB. Zapewnia zgodność, postępując zgodnie z protokołem przewodowym mongoDB, co pozwala korzystać z istniejących sterowników klienta, zestawów SDK i innych narzędzi, które już znasz.
Obsługa protokołów
Obsługiwane operatory i wszelkie ograniczenia lub wyjątki są wymienione tutaj. Każdy sterownik klienta, który rozumie te protokoły, powinien mieć możliwość nawiązania połączenia z usługą Azure Cosmos DB dla bazy danych MongoDB. Podczas tworzenia klastrów rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB punkt końcowy ma format *.mongocluster.cosmos.azure.com
.
Obsługa języka zapytań
Usługa Azure Cosmos DB dla bazy danych MongoDB zapewnia kompleksową obsługę konstrukcji języka zapytań bazy danych MongoDB. Poniżej znajduje się szczegółowa lista aktualnie obsługiwanych poleceń bazy danych, operatorów, etapów i opcji.
Uwaga
W tym artykule wymieniono tylko obsługiwane polecenia serwera i wyklucza funkcje otoki po stronie klienta. Funkcje otoki po stronie klienta, takie jak deleteMany()
i wewnętrznie używają delete()
poleceń i update()
updateMany()
serwera. Funkcje korzystające z obsługiwanych poleceń serwera są zgodne z usługą Azure Cosmos DB dla bazy danych MongoDB.
Polecenia bazy danych
Rdzenie wirtualne usługi Azure Cosmos DB dla bazy danych MongoDB obsługują następujące polecenia bazy danych:
Kategoria | Command | Funkcja | ||
Wersja 5.0 | Wersja 6.0 | Wersja 7.0 | ||
Polecenia agregacji | kruszywo | |||
count | ||||
distinct | ||||
mapReduce | Przestarzałe w usłudze MongoDB 5.0 | |||
Polecenia uwierzytelniania | authenticate | |||
getnonce | Przestarzałe w usłudze MongoDB 4.0 | |||
logout | Przestarzałe w usłudze MongoDB 5.0 | |||
Polecenia geoprzestrzenne | geoSearch | Przestarzałe w usłudze MongoDB 5.0 | ||
Polecenia pamięci podręcznej planu zapytania | ||||
Polecenia administracyjne | cloneCollectionAsCapped | Nie, kolekcje ograniczone nie są obecnie obsługiwane. | ||
collMod | ||||
compact | ||||
convertToCapped | Liczba Kolekcje ograniczone nie są obecnie obsługiwane. | |||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
dropIndexes | ||||
filemd5 | ||||
fsync | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
fsyncUnlock | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
setFeatureCompatibilityVersion | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
shutdown | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
Polecenia zarządzania użytkownikami i rolami | Obecnie nie jest obsługiwana, ale zostanie udostępniona za pośrednictwem usługi Azure Active Directory w przyszłości. | |||
Polecenia replikacji | Platforma Azure zarządza replikacją, co eliminuje konieczność ręcznego replikowania klientów. | |||
Polecenia fragmentowania | enableSharding | |||
isdbgrid | ||||
reshardCollection | ||||
shardCollection | ||||
unsetSharding | Przestarzałe w usłudze MongoDB 5.0 | |||
addShard | Jako oferta typu "platforma jako usługa" (PaaS) platforma Azure zarządza zarządzanie fragmentami i ponowne równoważenie. Użytkownicy muszą tylko określić strategię fragmentowania dla kolekcji, a platforma Azure będzie obsługiwać resztę. | |||
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 | ||||
Polecenia operacji wykonywania zapytań i zapisu | change streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | Przestarzałe w usłudze MongoDB 5.1 | |||
getMore | ||||
insert | ||||
resetError | Przestarzałe w usłudze MongoDB 5.0 | |||
update | ||||
Polecenia sesji | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
Polecenia diagnostyczne | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
explain | ||||
features | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
getCmdLineOpts | ||||
getLog | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |||
serverStatus | ||||
shardConnPoolStats | Przestarzałe w usłudze MongoDB 5.0 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
Polecenia inspekcji zdarzeń systemowych | logApplicationMessage |
Operatory
Poniżej przedstawiono listę operatorów obecnie obsługiwanych w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB:
Uwaga
Rozmiar avgObjsize i rozmiar w parametrach "collStats" i "dbStats" działa tylko z rozmiarem dokumentu mniejszym niż 2 KB.
Kategoria | Command | Funkcja | ||
Wersja 5.0 | Wersja 6.0 | Wersja 7.0 | ||
Operatory zapytań porównania | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
Operatory zapytań logicznych | $and | |||
$not | ||||
$nor | ||||
$or | ||||
Operatory zapytań elementu | $exists | |||
$type | ||||
Operatory zapytań ewaluacyjnych | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
Operatory geoprzestrzenne | $geoIntersects | |||
$geoWithin | ||||
$box | ||||
$center | ||||
$centerSphere | ||||
$geometry | ||||
$maxDistance | ||||
$minDistance | ||||
$polygon | ||||
$near | ||||
$nearSphere | ||||
Operatory zapytań tablicowych | $all | |||
$elemMatch | ||||
$size | ||||
Operatory zapytań bitowych | $bitsAllClear | |||
$bitsAllSet | ||||
$bitsAnyClear | ||||
$bitsAnySet | ||||
Operatory projekcji | $ | |||
$elemMatch | ||||
$meta | ||||
$slice | ||||
Różne operatory zapytań | $comment | |||
$rand | ||||
$natural | ||||
Operatory aktualizacji pól | $currentDate | |||
$inc | ||||
$min | ||||
$max | ||||
$mul | ||||
$rename | ||||
$set | ||||
$setOnInsert | ||||
$unset | ||||
Operatory aktualizacji tablicy | $ | |||
$[] | ||||
$[identifier] | ||||
$addToSet | ||||
$pop | ||||
$pull | ||||
$push | ||||
$pullAll | ||||
$each | ||||
$position | ||||
$slice | ||||
$sort | ||||
Operatory aktualizacji bitowych | $bit | |||
Operatory wyrażeń arytmetycznych | $abs | |||
$add | ||||
$ceil | ||||
$divide | ||||
$exp | ||||
$floor | ||||
$ln | ||||
$log | ||||
$log10 | ||||
$mod | ||||
$multiply | ||||
$pow | ||||
$round | ||||
$sqrt | ||||
$subtract | ||||
$trunc | ||||
Operatory wyrażeń tablicowych | $arrayElemAt | |||
$arrayToObject | ||||
$concatArrays | ||||
$filter | ||||
$firstN | ||||
$in | ||||
$indexOfArray | ||||
$isArray | ||||
$lastN | ||||
$map | ||||
$maxN | ||||
$minN | ||||
$objectToArray | ||||
$range | ||||
$reduce | ||||
$reverseArray | ||||
$size | ||||
$slice | ||||
$sortArray | ||||
$zip | ||||
Operatory bitowe | $bitAnd | |||
$bitNot | ||||
$bitOr | ||||
$bitXor | ||||
Operatory wyrażeń logicznych | $and | |||
$not | ||||
$or | ||||
Operatory wyrażeń porównania | $cmp | |||
$eq | ||||
$gt | ||||
$gte | ||||
$lt | ||||
$lte | ||||
$ne | ||||
Niestandardowe operatory wyrażeń agregacji | Nieobsługiwane jeszcze. | |||
Operatory rozmiaru danych | $bsonSize | |||
$binarySize | ||||
Operatory wyrażeń daty | $dateAdd | |||
$dateDiff | ||||
$dateFromParts | ||||
$dateFromString | ||||
$dateSubtract | ||||
$dateToParts | ||||
$dateToString | ||||
$dateTrunc | ||||
$dayOfMonth | ||||
$dayOfWeek | ||||
$dayOfYear | ||||
$hour | ||||
$isoDayOfWeek | ||||
$isoWeek | ||||
$isoWeekYear | ||||
$millisecond | ||||
$minute | ||||
$month | ||||
$second | ||||
$toDate | ||||
$week | ||||
$year | ||||
Operator wyrażenia literału | $literal | |||
Różne operatory | $getField | |||
$rand | ||||
$sampleRate | ||||
Operatory wyrażeń obiektów | $mergeObjects | |||
$objectToArray | ||||
$setField | ||||
Ustawianie operatorów wyrażeń | $allElementsTrue | |||
$anyElementTrue | ||||
$setDifference | ||||
$setEquals | ||||
$setIntersection | ||||
$setIsSubset | ||||
$setUnion | ||||
Operatory wyrażeń ciągu | $concat | |||
$dateFromString | ||||
$dateToString | ||||
$indexOfBytes | ||||
$indexOfCP | ||||
$ltrim | ||||
$regexFind | ||||
$regexFindAll | ||||
$regexMatch | ||||
$replaceOne | ||||
$replaceAll | ||||
$rtrim | ||||
$split | ||||
$strLenBytes | ||||
$strLenCP | ||||
$strcasecmp | ||||
$substr | ||||
$substrBytes | ||||
$substrCP | ||||
$toLower | ||||
$toString | ||||
$trim | ||||
$toUpper | ||||
Operator wyrażenia tekstowego | $meta | |||
Operatory wyrażeń znacznika czasu | $tsIncrement | |||
$tsSecond | ||||
Operatory wyrażeń trygonometrycznych | $sin | |||
$cos | ||||
$tan | ||||
$asin | ||||
$acos | ||||
$atan | ||||
$atan2 | ||||
$asinh | ||||
$acosh | ||||
$atanh | ||||
$sinh | ||||
$cosh | ||||
$tanh | ||||
$degreesToRadians | ||||
$radiansToDegrees | ||||
Operatory wyrażeń typu | $convert | |||
$isNumber | ||||
$toBool | ||||
$toDate | ||||
$toDecimal | ||||
$toDouble | ||||
$toInt | ||||
$toLong | ||||
$toObjectId | ||||
$toString | ||||
$type | ||||
Akumulatory ($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 | ||||
Akumulatory (w innych etapach) | $avg | |||
$first | ||||
$last | ||||
$max | ||||
$median | ||||
$min | ||||
$percentile | ||||
$stdDevPop | ||||
$stdDevSamp | ||||
$sum | ||||
Operatory wyrażeń zmiennych | $let | |||
Operatory okien | $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 | ||||
Operatory wyrażeń warunkowych | $cond | |||
$ifNull | ||||
$switch | ||||
Etapy potoku agregacji | $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 | ||||
Zmienne w wyrażeniach agregacji | TERAZ | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
Indeksy i właściwości indeksu
Rdzenie wirtualne usługi Azure Cosmos DB dla bazy danych MongoDB obsługują następujące indeksy i właściwości indeksu:
Uwaga
Tworzenie indeksu unikatowego uzyskuje wyłączną blokadę kolekcji przez cały czas trwania procesu kompilacji. Spowoduje to zablokowanie operacji odczytu i zapisu w kolekcji do momentu zakończenia operacji.
Indeksy
Polecenie | Obsługiwane |
Indeks pojedynczego pola | |
Indeks złożony | |
Indeks wieloklucza | |
Indeks tekstu | |
Indeks wieloznaczny | |
Indeks geoprzestrzenny | |
Indeks skrótu | |
Indeks wektorowy (dostępny tylko w usłudze Cosmos DB) | Tak, z wyszukiwaniem wektorów |
Właściwości indeksu
Polecenie | Obsługiwane |
TTL | |
Unikatowe | |
Częściowe | |
Bez uwzględniania wielkości liter | |
Rozrzedzone | |
Tło |