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:

KategoriaCommandObsługiwane
Polecenia agregacjiAgregacjiTakTak
countTakTak
distinctTakTak
mapReducePrzestarzałe
Polecenia uwierzytelnianiaauthenticateTakTak
getnonceTakTak
logoutTakTak
Polecenia geoprzestrzennegeoSearchPrzestarzałe
Polecenia pamięci podręcznej planu zapytaniaNie.Nr
polecenia Administracja istracyjnecloneCollectionAsCappedNie.Liczba Kolekcje ograniczone nie są obecnie obsługiwane.
collModTakCzęściowe
compactNie.Nr
connPoolSyncPrzestarzałe
convertToCappedNie.Liczba Kolekcje ograniczone nie są obecnie obsługiwane.
createTakCzęściowe
createIndexesTakTak
currentOpTakTak
dropTakTak
dropDatabaseTakTak
dropConnectionsJako usługa PaaS będzie to zarządzane przez platformę Azure.
dropIndexesTakTak
filemd5Nie.Nr
fsyncJako usługa PaaS będzie to zarządzane przez platformę Azure.
fsyncUnlockJako usługa PaaS będzie to zarządzane przez platformę Azure.
getDefaultRWConcernTakTak
getClusterParameterNie.Nr
getParameterTakTak
killCursorsTakTak
killOpTakTak
listCollectionsTakTak
listDatabasesTakTak
listIndexesTakTak
logRotateJako usługa PaaS będzie to zarządzane przez platformę Azure.
reIndexTakTak
renameCollectionTakTak
rotateCertificatesJako usługa PaaS będzie to zarządzane przez platformę Azure.
setFeatureCompatibilityVersionJako usługa PaaS będzie to zarządzane przez platformę Azure.
setIndexCommitQuorumNie.Nr
setParameterTakCzęściowe
setDefaultRWConcernNie.Nr
shutdownJako usługa PaaS będzie to zarządzane przez platformę Azure.
Polecenia zarządzania użytkownikami i rolamiObecnie nie jest obsługiwana, ale zostanie udostępniona za pośrednictwem usługi Azure Active Directory w przyszłości.
Polecenia replikacjiPlatforma Azure zarządza replikacją, co eliminuje konieczność ręcznego replikowania klientów.
Polecenia fragmentowaniaenableShardingTakTak
isdbgridTakTak
reshardCollectionTakTak
shardCollectionTakTak
unsetShardingPrzestarzałe
addShardJako 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
reshardCollectionNie.Nr
Polecenia operacji wykonywania zapytań i zapisuchange streamsNie.Nr
deleteTakTak
findTakTak
findAndModifyTakTak
getLastErrorTakTak
getMoreTakCzęściowe
insertTakTak
resetErrorPrzestarzałe
updateTakTak
Polecenia sesjiabortTransactionTakTak
commitTransactionTakTak
endSessionsTakTak
killAllSessionsNie.Nr
killAllSessionsByPatternNie.Nr
killSessionsTakTak
refreshSessionsNie.Nr
startSessionTakTak
Polecenia diagnostyczneavailableQueryOptionsNie.Nr
buildInfoTakTak
collStatsTakTak
connPoolStatsNie.Nr
connectionStatusTakCzęściowe
dataSizeNie.Nr
dbHashNie.Nr
dbStatsTakTak
driverOIDTestJako usługa PaaS będzie to zarządzane przez platformę Azure.
explainTakTak
featuresJako usługa PaaS będzie to zarządzane przez platformę Azure.
getCmdLineOptsTakTak
getLogTakTak
hostInfoTakCzęściowe
_isSelfNie.Nr
listCommandsTakTak
lockInfoNie.Nr
netstatNie.Nr
pingTakTak
profileJako usługa PaaS będzie to zarządzane przez platformę Azure.
serverStatusTakTak
shardConnPoolStatsPrzestarzałe
topNie.Nr
validateTakTak
whatsmyuriTakTak
Polecenia inspekcji zdarzeń systemowychlogApplicationMessageNie.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.

KategoriaOperatorObsługiwane
Operatory zapytań porównania$eqTakTak
$gtTakTak
$gteTakTak
$inTakTak
$ltTakTak
$lteTakTak
$neTakTak
$ninTakTak
Operatory zapytań logicznych$andTakTak
$notTakTak
$norTakTak
$orTakTak
Operatory zapytań elementu$existsTakTak
$typeTakTak
Operatory zapytań ewaluacyjnych$exprTakTak
$jsonSchemaNie.Nr
$modTakTak
$regexTakTak
$textTakTak
$whereNie.Nr
Operatory geoprzestrzenneTakW prywatnej wersji zapoznawczej*
Operatory zapytań tablicowych$allTakTak
$elemMatchTakTak
$sizeTakTak
Operatory zapytań bitowych$bitsAllClearTakTak
$bitsAllSetTakTak
$bitsAnyClearTakTak
$bitsAnySetTakTak
Operatory projekcji$TakTak
$elemMatchTakTak
$metaTakTak
$sliceTakTak
Różne operatory zapytań$commentNie.Nr
$randTakTak
$naturalNie.Nr
Operatory aktualizacji pól$currentDateTakTak
$incTakTak
$minTakTak
$maxTakTak
$mulTakTak
$renameTakTak
$setTakTak
$setOnInsertTakTak
$unsetTakTak
Operatory aktualizacji tablicy$TakTak
$[]TakTak
$[identifier]TakTak
$addToSetTakTak
$popTakTak
$pullTakTak
$pushTakTak
$pullAllTakTak
$eachTakTak
$positionTakTak
$sliceTakTak
$sortTakTak
Operatory aktualizacji bitowych$bitTakTak
Operatory wyrażeń arytmetycznych$absTakTak
$addTakTak
$ceilTakTak
$divideTakTak
$expTakTak
$floorTakTak
$lnTakTak
$logTakTak
$log10TakTak
$modTakTak
$multiplyTakTak
$powTakTak
$roundTakTak
$sqrtTakTak
$subtractTakTak
$truncTakTak
Operatory wyrażeń tablicowych$arrayElemAtTakTak
$arrayToObjectTakTak
$concatArraysTakTak
$filterTakTak
$firstNTakTak
$inTakTak
$indexOfArrayTakTak
$isArrayTakTak
$lastNTakTak
$mapTakTak
$maxNNie.Nr
$minNNie.Nr
$objectToArrayTakTak
$rangeTakTak
$reduceTakTak
$reverseArrayTakTak
$sizeTakTak
$sliceTakTak
$sortArrayNie.Nr
$zipNie.Nr
Operatory bitowe$bitAndTakTak
$bitNotTakTak
$bitOrTakTak
$bitXorTakTak
Operatory wyrażeń logicznych$andTakTak
$notTakTak
$orTakTak
Operatory wyrażeń porównania$cmpTakTak
$eqTakTak
$gtTakTak
$gteTakTak
$ltTakTak
$lteTakTak
$neTakTak
Niestandardowe operatory wyrażeń agregacjiNieobsługiwane.
Operatory rozmiaru danych$bsonSizeTakTak
$binarySizeTakTak
Operatory wyrażeń daty$dateAddTakTak
$dateDiffTakTak
$dateFromPartsTakTak
$dateFromStringTakTak
$dateSubtractTakTak
$dateToPartsTakTak
$dateToStringTakTak
$dateTruncTakTak
$dayOfMonthTakTak
$dayOfWeekTakTak
$dayOfYearTakTak
$hourTakTak
$isoDayOfWeekTakTak
$isoWeekTakTak
$isoWeekYearTakTak
$millisecondTakTak
$minuteTakTak
$monthTakTak
$secondTakTak
$toDateTakTak
$weekTakTak
$yearTakTak
Operator wyrażenia literału$literalTakTak
Różne operatory$getFieldNie.Nr
$randTakTak
$sampleRateNie.Nr
Operatory wyrażeń obiektów$mergeObjectsTakTak
$objectToArrayTakTak
$setFieldTakTak
Ustawianie operatorów wyrażeń$allElementsTrueTakTak
$anyElementTrueTakTak
$setDifferenceTakTak
$setEqualsTakTak
$setIntersectionTakTak
$setIsSubsetTakTak
$setUnionTakTak
Operatory wyrażeń ciągu$concatTakTak
$dateFromStringNie.Nr
$dateToStringTakTak
$indexOfBytesTakTak
$indexOfCPTakTak
$ltrimTakTak
$regexFindTakTak
$regexFindAllTakTak
$regexMatchTakTak
$replaceOneTakTak
$replaceAllTakTak
$rtrimTakTak
$splitTakTak
$strLenBytesTakTak
$strLenCPTakTak
$strcasecmpTakTak
$substrTakTak
$substrBytesTakTak
$substrCPTakTak
$toLowerTakTak
$toStringTakTak
$trimTakTak
$toUpperTakTak
Operator wyrażenia tekstowego$metaTakTak
Operatory wyrażeń znacznika czasuNieobsługiwane.
Operatory wyrażeń trygonometrycznychNieobsługiwane.
Operatory wyrażeń typu$convertTakTak
$isNumberTakTak
$toBoolTakTak
$toDateTakTak
$toDecimalTakTak
$toDoubleTakTak
$toIntTakTak
$toLongTakTak
$toObjectIdTakTak
$toStringTakTak
$typeTakTak
Akumulatory ($group, $bucket, $bucketAuto, $setWindowFields)$accumulatorNie.Nr
$addToSetNie.Nr
$avgTakTak
$bottomNie.Nr
$bottomNNie.Nr
$countTakTak
$firstTakTak
$firstNTakTak
$lastTakTak
$lastNTakTak
$maxTakTak
$maxNNie.Nr
$medianNie.Nr
$mergeObjectsNie.Nr
$minTakTak
$percentileNie.Nr
$pushNie.Nr
$stdDevPopNie.Nr
$stdDevSampNie.Nr
$sumTakTak
$topNie.Nr
$topNNie.Nr
Akumulatory (w innych etapach)$avgNie.Nr
$firstTakTak
$lastTakTak
$maxNie.Nr
$medianNie.Nr
$minNie.Nr
$percentileNie.Nr
$stdDevPopNie.Nr
$stdDevSampNie.Nr
$sumNie.Nr
Operatory wyrażeń zmiennychNieobsługiwane.
Operatory okienNieobsługiwane.
Operatory wyrażeń warunkowych$condTakTak
$ifNullTakTak
$switchTakTak
Etapy potoku agregacji$addFieldsTakTak
$bucketNie.Nr
$bucketAutoNie.Nr
$changeStreamNie.Nr
$changeStreamSplitLargeEventNie.Nr
$collStatsTakTak
$countTakTak
$densifyNie.Nr
$documentsNie.Nr
$facetTakTak
$fillNie.Nr
$geoNearNie.Nr
$graphLookupTakTak
$groupTakTak
$indexStatsTakTak
$limitTakTak
$listSampledQueriesNie.Nr
$listSearchIndexesNie.Nr
$listSessionsNie.Nr
$lookupTakTak
$matchTakTak
$mergeNie.Nr
$outNie.Nr
$planCacheStatsNie.Nr
$projectTakTak
$redactNie.Nr
$replaceRootTakTak
$replaceWithTakTak
$sampleTakTak
$searchTakTak
$searchMetaTakTak
$setTakTak
$setWindowFieldsNie.Nr
$skipTakTak
$sortTakTak
$sortByCountTakTak
$unionWithNie.Nr
$unsetTakTak
$unwindTakTak
$shardedDataDistributionNie.Nr
$changeStreamNie.Nr
$currentOpTakTak
$listLocalSessionsNie.Nr
$documentsNrNr

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

PolecenieObsługiwane
Indeks pojedynczego polaTakTak
Indeks złożonyTakTak
Indeks wielokluczaTakTak
Indeks tekstuTakTak
Indeks geoprzestrzennyTakW prywatnej wersji zapoznawczej*
Indeks skrótuTakTak
Indeks wektorowy (dostępny tylko w usłudze Cosmos DB)TakTak, z wyszukiwaniem wektorów

Właściwości indeksu

PolecenieObsługiwane
TTLTakTak
UnikatoweTakTak
CzęścioweTakTak
Bez uwzględniania wielkości literNie.Nr
RozrzedzoneTakTak
TłoTakTak

Następne kroki