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 | Obsługiwane |
Polecenia agregacji | Agregacji | Tak |
count | Tak | |
distinct | Tak | |
mapReduce | Przestarzałe | |
Polecenia uwierzytelniania | authenticate | Tak |
getnonce | Tak | |
logout | Tak | |
Polecenia geoprzestrzenne | geoSearch | Przestarzałe |
Polecenia pamięci podręcznej planu zapytania | Nr | |
polecenia Administracja istracyjne | cloneCollectionAsCapped | Liczba Kolekcje ograniczone nie są obecnie obsługiwane. |
collMod | Częściowe | |
compact | Nr | |
connPoolSync | Przestarzałe | |
convertToCapped | Liczba Kolekcje ograniczone nie są obecnie obsługiwane. | |
create | Częściowe | |
createIndexes | Tak | |
currentOp | Tak | |
drop | Tak | |
dropDatabase | Tak | |
dropConnections | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |
dropIndexes | Tak | |
filemd5 | Nr | |
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 | Tak | |
getClusterParameter | Nr | |
getParameter | Tak | |
killCursors | Tak | |
killOp | Tak | |
listCollections | Tak | |
listDatabases | Tak | |
listIndexes | Tak | |
logRotate | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |
reIndex | Tak | |
renameCollection | Tak | |
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 | Nr | |
setParameter | Częściowe | |
setDefaultRWConcern | Nr | |
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 | Tak |
isdbgrid | Tak | |
reshardCollection | Tak | |
shardCollection | Tak | |
unsetSharding | Przestarzałe | |
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 | ||
reshardCollection | Nr | |
Polecenia operacji wykonywania zapytań i zapisu | change streams | Nr |
delete | Tak | |
find | Tak | |
findAndModify | Tak | |
getLastError | Tak | |
getMore | Częściowe | |
insert | Tak | |
resetError | Przestarzałe | |
update | Tak | |
Polecenia sesji | abortTransaction | Tak |
commitTransaction | Tak | |
endSessions | Tak | |
killAllSessions | Nr | |
killAllSessionsByPattern | Nr | |
killSessions | Tak | |
refreshSessions | Nr | |
startSession | Tak | |
Polecenia diagnostyczne | availableQueryOptions | Nr |
buildInfo | Tak | |
collStats | Tak | |
connPoolStats | Nr | |
connectionStatus | Częściowe | |
dataSize | Nr | |
dbHash | Nr | |
dbStats | Tak | |
driverOIDTest | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |
explain | Tak | |
features | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |
getCmdLineOpts | Tak | |
getLog | Tak | |
hostInfo | Częściowe | |
_isSelf | Nr | |
listCommands | Tak | |
lockInfo | Nr | |
netstat | Nr | |
ping | Tak | |
profile | Jako usługa PaaS będzie to zarządzane przez platformę Azure. | |
serverStatus | Tak | |
shardConnPoolStats | Przestarzałe | |
top | Nr | |
validate | Tak | |
whatsmyuri | Tak | |
Polecenia inspekcji zdarzeń systemowych | logApplicationMessage | Nr |
Operatory
Poniżej przedstawiono listę operatorów obecnie obsługiwanych w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB:
Uwaga
Agregacja $lookup
nie obsługuje jeszcze używania wyrażeń zmiennych przy użyciu polecenia "let".
Rozmiar avgObjsize i rozmiar w pliku "collStats" działa tylko z rozmiarem dokumentu mniejszym niż 2 KB.
Kategoria | Operator | Obsługiwane |
Operatory zapytań porównania | $eq | Tak |
$gt | Tak | |
$gte | Tak | |
$in | Tak | |
$lt | Tak | |
$lte | Tak | |
$ne | Tak | |
$nin | Tak | |
Operatory zapytań logicznych | $and | Tak |
$not | Tak | |
$nor | Tak | |
$or | Tak | |
Operatory zapytań elementu | $exists | Tak |
$type | Tak | |
Operatory zapytań ewaluacyjnych | $expr | Tak |
$jsonSchema | Nr | |
$mod | Tak | |
$regex | Tak | |
$text | Tak | |
$where | Nr | |
Operatory geoprzestrzenne | W prywatnej wersji zapoznawczej* | |
Operatory zapytań tablicowych | $all | Tak |
$elemMatch | Tak | |
$size | Tak | |
Operatory zapytań bitowych | $bitsAllClear | Tak |
$bitsAllSet | Tak | |
$bitsAnyClear | Tak | |
$bitsAnySet | Tak | |
Operatory projekcji | $ | Tak |
$elemMatch | Tak | |
$meta | Tak | |
$slice | Tak | |
Różne operatory zapytań | $comment | Nr |
$rand | Tak | |
$natural | Nr | |
Operatory aktualizacji pól | $currentDate | Tak |
$inc | Tak | |
$min | Tak | |
$max | Tak | |
$mul | Tak | |
$rename | Tak | |
$set | Tak | |
$setOnInsert | Tak | |
$unset | Tak | |
Operatory aktualizacji tablicy | $ | Tak |
$[] | Tak | |
$[identifier] | Tak | |
$addToSet | Tak | |
$pop | Tak | |
$pull | Tak | |
$push | Tak | |
$pullAll | Tak | |
$each | Tak | |
$position | Tak | |
$slice | Tak | |
$sort | Tak | |
Operatory aktualizacji bitowych | $bit | Tak |
Operatory wyrażeń arytmetycznych | $abs | Tak |
$add | Tak | |
$ceil | Tak | |
$divide | Tak | |
$exp | Tak | |
$floor | Tak | |
$ln | Tak | |
$log | Tak | |
$log10 | Tak | |
$mod | Tak | |
$multiply | Tak | |
$pow | Tak | |
$round | Tak | |
$sqrt | Tak | |
$subtract | Tak | |
$trunc | Tak | |
Operatory wyrażeń tablicowych | $arrayElemAt | Tak |
$arrayToObject | Tak | |
$concatArrays | Tak | |
$filter | Tak | |
$firstN | Tak | |
$in | Tak | |
$indexOfArray | Tak | |
$isArray | Tak | |
$lastN | Tak | |
$map | Tak | |
$maxN | Nr | |
$minN | Nr | |
$objectToArray | Tak | |
$range | Tak | |
$reduce | Tak | |
$reverseArray | Tak | |
$size | Tak | |
$slice | Tak | |
$sortArray | Nr | |
$zip | Nr | |
Operatory bitowe | $bitAnd | Tak |
$bitNot | Tak | |
$bitOr | Tak | |
$bitXor | Tak | |
Operatory wyrażeń logicznych | $and | Tak |
$not | Tak | |
$or | Tak | |
Operatory wyrażeń porównania | $cmp | Tak |
$eq | Tak | |
$gt | Tak | |
$gte | Tak | |
$lt | Tak | |
$lte | Tak | |
$ne | Tak | |
Niestandardowe operatory wyrażeń agregacji | Nieobsługiwane. | |
Operatory rozmiaru danych | $bsonSize | Tak |
$binarySize | Tak | |
Operatory wyrażeń daty | $dateAdd | Tak |
$dateDiff | Tak | |
$dateFromParts | Tak | |
$dateFromString | Tak | |
$dateSubtract | Tak | |
$dateToParts | Tak | |
$dateToString | Tak | |
$dateTrunc | Tak | |
$dayOfMonth | Tak | |
$dayOfWeek | Tak | |
$dayOfYear | Tak | |
$hour | Tak | |
$isoDayOfWeek | Tak | |
$isoWeek | Tak | |
$isoWeekYear | Tak | |
$millisecond | Tak | |
$minute | Tak | |
$month | Tak | |
$second | Tak | |
$toDate | Tak | |
$week | Tak | |
$year | Tak | |
Operator wyrażenia literału | $literal | Tak |
Różne operatory | $getField | Nr |
$rand | Tak | |
$sampleRate | Nr | |
Operatory wyrażeń obiektów | $mergeObjects | Tak |
$objectToArray | Tak | |
$setField | Tak | |
Ustawianie operatorów wyrażeń | $allElementsTrue | Tak |
$anyElementTrue | Tak | |
$setDifference | Tak | |
$setEquals | Tak | |
$setIntersection | Tak | |
$setIsSubset | Tak | |
$setUnion | Tak | |
Operatory wyrażeń ciągu | $concat | Tak |
$dateFromString | Nr | |
$dateToString | Tak | |
$indexOfBytes | Tak | |
$indexOfCP | Tak | |
$ltrim | Tak | |
$regexFind | Tak | |
$regexFindAll | Tak | |
$regexMatch | Tak | |
$replaceOne | Tak | |
$replaceAll | Tak | |
$rtrim | Tak | |
$split | Tak | |
$strLenBytes | Tak | |
$strLenCP | Tak | |
$strcasecmp | Tak | |
$substr | Tak | |
$substrBytes | Tak | |
$substrCP | Tak | |
$toLower | Tak | |
$toString | Tak | |
$trim | Tak | |
$toUpper | Tak | |
Operator wyrażenia tekstowego | $meta | Tak |
Operatory wyrażeń znacznika czasu | Nieobsługiwane. | |
Operatory wyrażeń trygonometrycznych | Nieobsługiwane. | |
Operatory wyrażeń typu | $convert | Tak |
$isNumber | Tak | |
$toBool | Tak | |
$toDate | Tak | |
$toDecimal | Tak | |
$toDouble | Tak | |
$toInt | Tak | |
$toLong | Tak | |
$toObjectId | Tak | |
$toString | Tak | |
$type | Tak | |
Akumulatory ($group, $bucket, $bucketAuto, $setWindowFields) | $accumulator | Nr |
$addToSet | Nr | |
$avg | Tak | |
$bottom | Nr | |
$bottomN | Nr | |
$count | Tak | |
$first | Tak | |
$firstN | Tak | |
$last | Tak | |
$lastN | Tak | |
$max | Tak | |
$maxN | Nr | |
$median | Nr | |
$mergeObjects | Nr | |
$min | Tak | |
$percentile | Nr | |
$push | Nr | |
$stdDevPop | Nr | |
$stdDevSamp | Nr | |
$sum | Tak | |
$top | Nr | |
$topN | Nr | |
Akumulatory (w innych etapach) | $avg | Nr |
$first | Tak | |
$last | Tak | |
$max | Nr | |
$median | Nr | |
$min | Nr | |
$percentile | Nr | |
$stdDevPop | Nr | |
$stdDevSamp | Nr | |
$sum | Nr | |
Operatory wyrażeń zmiennych | Nieobsługiwane. | |
Operatory okien | Nieobsługiwane. | |
Operatory wyrażeń warunkowych | $cond | Tak |
$ifNull | Tak | |
$switch | Tak | |
Etapy potoku agregacji | $addFields | Tak |
$bucket | Nr | |
$bucketAuto | Nr | |
$changeStream | Nr | |
$changeStreamSplitLargeEvent | Nr | |
$collStats | Tak | |
$count | Tak | |
$densify | Nr | |
$documents | Nr | |
$facet | Tak | |
$fill | Nr | |
$geoNear | Nr | |
$graphLookup | Tak | |
$group | Tak | |
$indexStats | Tak | |
$limit | Tak | |
$listSampledQueries | Nr | |
$listSearchIndexes | Nr | |
$listSessions | Nr | |
$lookup | Tak | |
$match | Tak | |
$merge | Nr | |
$out | Nr | |
$planCacheStats | Nr | |
$project | Tak | |
$redact | Nr | |
$replaceRoot | Tak | |
$replaceWith | Tak | |
$sample | Tak | |
$search | Tak | |
$searchMeta | Tak | |
$set | Tak | |
$setWindowFields | Nr | |
$skip | Tak | |
$sort | Tak | |
$sortByCount | Tak | |
$unionWith | Nr | |
$unset | Tak | |
$unwind | Tak | |
$shardedDataDistribution | Nr | |
$changeStream | Nr | |
$currentOp | Tak | |
$listLocalSessions | Nr | |
$documents | Nr |
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 | Tak |
Indeks złożony | Tak |
Indeks wieloklucza | Tak |
Indeks tekstu | Tak |
Indeks geoprzestrzenny | W prywatnej wersji zapoznawczej* |
Indeks skrótu | Tak |
Indeks wektorowy (dostępny tylko w usłudze Cosmos DB) | Tak, z wyszukiwaniem wektorów |
Właściwości indeksu
Polecenie | Obsługiwane |
TTL | Tak |
Unikatowe | Tak |
Częściowe | Tak |
Bez uwzględniania wielkości liter | Nr |
Rozrzedzone | Tak |
Tło | Tak |