MongoDB-kompatibilitet och funktionsstöd med Azure Cosmos DB för MongoDB vCore
GÄLLER FÖR: MongoDB vCore
Med Azure Cosmos DB for MongoDB vCore kan du uppleva de välbekanta MongoDB-fördelarna samtidigt som du får åtkomst till de förbättrade företagsfunktioner som erbjuds av Azure Cosmos DB. Det säkerställer kompatibilitet genom att följa MongoDB-trådprotokollet, så att du kan utnyttja befintliga klientdrivrutiner, SDK:er och andra verktyg som du redan är bekant med.
Protokollstöd
De operatorer som stöds och eventuella begränsningar eller undantag visas här. Alla klientdrivrutiner som förstår dessa protokoll bör kunna ansluta till Azure Cosmos DB för MongoDB. När du skapar Azure Cosmos DB för MongoDB vCore-kluster är slutpunkten i formatet *.mongocluster.cosmos.azure.com
.
Stöd för frågespråk
Azure Cosmos DB for MongoDB ger omfattande stöd för MongoDB-frågespråkskonstruktioner. Nedan hittar du en detaljerad lista över databaskommandon, operatorer, steg och alternativ som stöds.
Kommentar
Den här artikeln visar bara de serverkommandon som stöds och exkluderar omslutningsfunktioner på klientsidan. Omslutningsfunktioner på klientsidan, till exempel deleteMany()
och updateMany()
internt, använder kommandona delete()
och update()
server. Funktioner som använder serverkommandon som stöds är kompatibla med Azure Cosmos DB för MongoDB.
Databaskommandon
Azure Cosmos DB for MongoDB vCore stöder följande databaskommandon:
Kategori | Kommando | Stöds |
Sammansättningskommandon | Sammanlagda | Ja |
count | Ja | |
distinct | Ja | |
mapReduce | Inaktuell | |
Autentiseringskommandon | authenticate | Ja |
getnonce | Ja | |
logout | Ja | |
Geospatiala kommandon | geoSearch | Inaktuell |
Cachekommandon för frågeplan | Nej | |
Administrativa kommandon | cloneCollectionAsCapped | Nej. Begränsade samlingar stöds för närvarande inte. |
collMod | Partiell | |
compact | Nej | |
connPoolSync | Inaktuell | |
convertToCapped | Nej. Begränsade samlingar stöds för närvarande inte. | |
create | Partiell | |
createIndexes | Ja | |
currentOp | Ja | |
drop | Ja | |
dropDatabase | Ja | |
dropConnections | Som En PaaS-tjänst hanteras detta av Azure. | |
dropIndexes | Ja | |
filemd5 | Nej | |
fsync | Som En PaaS-tjänst hanteras detta av Azure. | |
fsyncUnlock | Som En PaaS-tjänst hanteras detta av Azure. | |
getDefaultRWConcern | Ja | |
getClusterParameter | Nej | |
getParameter | Ja | |
killCursors | Ja | |
killOp | Ja | |
listCollections | Ja | |
listDatabases | Ja | |
listIndexes | Ja | |
logRotate | Som En PaaS-tjänst hanteras detta av Azure. | |
reIndex | Ja | |
renameCollection | Ja | |
rotateCertificates | Som En PaaS-tjänst hanteras detta av Azure. | |
setFeatureCompatibilityVersion | Som En PaaS-tjänst hanteras detta av Azure. | |
setIndexCommitQuorum | Nej | |
setParameter | Partiell | |
setDefaultRWConcern | Nej | |
shutdown | Som En PaaS-tjänst hanteras detta av Azure. | |
Kommandon för användar- och rollhantering | Stöds inte i dag, men kommer att göras tillgängligt via Azure Active Directory i framtiden. | |
Replikeringskommandon | Azure hanterar replikering, vilket tar bort behovet för kunder att replikera manuellt. | |
Partitioneringskommandon | enableSharding | Ja |
isdbgrid | Ja | |
reshardCollection | Ja | |
shardCollection | Ja | |
unsetSharding | Inaktuell | |
addShard | Som ett PaaS-erbjudande (Platform-as-a-Service) hanterar Azure shard management och ombalansering. Användarna behöver bara ange horisontell partitioneringsstrategi för samlingarna så hanterar Azure resten. | |
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 | Nej | |
Kommandon för fråge- och skrivåtgärder | change streams | Nej |
delete | Ja | |
find | Ja | |
findAndModify | Ja | |
getLastError | Ja | |
getMore | Partiell | |
insert | Ja | |
resetError | Inaktuell | |
update | Ja | |
Sessionskommandon | abortTransaction | Ja |
commitTransaction | Ja | |
endSessions | Ja | |
killAllSessions | Nej | |
killAllSessionsByPattern | Nej | |
killSessions | Ja | |
refreshSessions | Nej | |
startSession | Ja | |
Diagnostikkommandon | availableQueryOptions | Nej |
buildInfo | Ja | |
collStats | Ja | |
connPoolStats | Nej | |
connectionStatus | Partiell | |
dataSize | Nej | |
dbHash | Nej | |
dbStats | Nej | |
driverOIDTest | Som En PaaS-tjänst hanteras detta av Azure. | |
explain | Ja | |
features | Som En PaaS-tjänst hanteras detta av Azure. | |
getCmdLineOpts | Ja | |
getLog | Ja | |
hostInfo | Partiell | |
_isSelf | Nej | |
listCommands | Ja | |
lockInfo | Nej | |
netstat | Nej | |
ping | Ja | |
profile | Som En PaaS-tjänst hanteras detta av Azure. | |
serverStatus | Ja | |
shardConnPoolStats | Inaktuell | |
top | Nej | |
validate | Ja | |
whatsmyuri | Ja | |
Granskningskommandon för systemhändelser | logApplicationMessage | Nej |
Operatorer
Nedan visas listan över operatorer som för närvarande stöds på Azure Cosmos DB för MongoDB vCore:
Kommentar
Aggregeringen $lookup
stöder ännu inte användning av variabeluttryck med hjälp av "let".
AvgObjsize och storlek i "collStats" fungerar endast med dokumentstorlek som är mindre än 2 KB.
Kategori | Operator | Stöds |
Jämförelsefrågaoperatorer | $eq | Ja |
$gt | Ja | |
$gte | Ja | |
$in | Ja | |
$lt | Ja | |
$lte | Ja | |
$ne | Ja | |
$nin | Ja | |
Logiska frågeoperatorer | $and | Ja |
$not | Ja | |
$nor | Ja | |
$or | Ja | |
Elementfrågeoperatorer | $exists | Ja |
$type | Ja | |
Frågeoperatorer för utvärdering | $expr | Ja |
$jsonSchema | Nej | |
$mod | Ja | |
$regex | Ja | |
$text | Ja | |
$where | Nej | |
Geospatiala operatorer | I privat förhandsversion* | |
Matrisfrågeoperatorer | $all | Ja |
$elemMatch | Ja | |
$size | Ja | |
Bitvis frågeoperatorer | $bitsAllClear | Ja |
$bitsAllSet | Ja | |
$bitsAnyClear | Ja | |
$bitsAnySet | Ja | |
Projektionsoperatorer | $ | Ja |
$elemMatch | Ja | |
$meta | Ja | |
$slice | Ja | |
Diverse frågeoperatorer | $comment | Nej |
$rand | Ja | |
$natural | Nej | |
Fältuppdateringsoperatorer | $currentDate | Ja |
$inc | Ja | |
$min | Ja | |
$max | Ja | |
$mul | Ja | |
$rename | Ja | |
$set | Ja | |
$setOnInsert | Ja | |
$unset | Ja | |
Matrisuppdateringsoperatorer | $ | Ja |
$[] | Ja | |
$[identifier] | Ja | |
$addToSet | Ja | |
$pop | Ja | |
$pull | Ja | |
$push | Ja | |
$pullAll | Ja | |
$each | Ja | |
$position | Ja | |
$slice | Ja | |
$sort | Ja | |
Bitvis uppdateringsoperatorer | $bit | Ja |
Aritmetiska uttrycksoperatorer | $abs | Ja |
$add | Ja | |
$ceil | Ja | |
$divide | Ja | |
$exp | Ja | |
$floor | Ja | |
$ln | Ja | |
$log | Ja | |
$log10 | Ja | |
$mod | Ja | |
$multiply | Ja | |
$pow | Ja | |
$round | Ja | |
$sqrt | Ja | |
$subtract | Ja | |
$trunc | Ja | |
Operatorer för matrisuttryck | $arrayElemAt | Ja |
$arrayToObject | Ja | |
$concatArrays | Ja | |
$filter | Ja | |
$firstN | Ja | |
$in | Ja | |
$indexOfArray | Ja | |
$isArray | Ja | |
$lastN | Ja | |
$map | Nej | |
$maxN | Nej | |
$minN | Nej | |
$objectToArray | Ja | |
$range | Ja | |
$reduce | Nej | |
$reverseArray | Ja | |
$size | Ja | |
$slice | Ja | |
$sortArray | Nej | |
$zip | Nej | |
Bitvis operatorer | $bitAnd | Ja |
$bitNot | Ja | |
$bitOr | Ja | |
$bitXor | Ja | |
Booleska uttrycksoperatorer | $and | Ja |
$not | Ja | |
$or | Ja | |
Operatorer för jämförelseuttryck | $cmp | Ja |
$eq | Ja | |
$gt | Ja | |
$gte | Ja | |
$lt | Ja | |
$lte | Ja | |
$ne | Ja | |
Operatorer för anpassade sammansättningsuttryck | Stöds ej. | |
Datastorleksoperatorer | $bsonSize | Ja |
$binarySize | Ja | |
Datumuttrycksoperatorer | $dateAdd | Nej |
$dateDiff | Nej | |
$dateFromParts | Nej | |
$dateFromString | Nej | |
$dateSubtract | Nej | |
$dateToParts | Ja | |
$dateToString | Ja | |
$dateTrunc | Nej | |
$dayOfMonth | Ja | |
$dayOfWeek | Ja | |
$dayOfYear | Ja | |
$hour | Ja | |
$isoDayOfWeek | Ja | |
$isoWeek | Ja | |
$isoWeekYear | Ja | |
$millisecond | Ja | |
$minute | Ja | |
$month | Ja | |
$second | Ja | |
$toDate | Ja | |
$week | Ja | |
$year | Ja | |
Operator för literaluttryck | $literal | Ja |
Diverse operatorer | $getField | Nej |
$rand | Ja | |
$sampleRate | Nej | |
Objektuttrycksoperatorer | $mergeObjects | Ja |
$objectToArray | Ja | |
$setField | Ja | |
Ange uttrycksoperatorer | $allElementsTrue | Ja |
$anyElementTrue | Ja | |
$setDifference | Ja | |
$setEquals | Ja | |
$setIntersection | Ja | |
$setIsSubset | Ja | |
$setUnion | Ja | |
Operatorer för stränguttryck | $concat | Ja |
$dateFromString | Nej | |
$dateToString | Ja | |
$indexOfBytes | Ja | |
$indexOfCP | Ja | |
$ltrim | Ja | |
$regexFind | Ja | |
$regexFindAll | Ja | |
$regexMatch | Ja | |
$replaceOne | Ja | |
$replaceAll | Ja | |
$rtrim | Ja | |
$split | Ja | |
$strLenBytes | Ja | |
$strLenCP | Ja | |
$strcasecmp | Ja | |
$substr | Ja | |
$substrBytes | Ja | |
$substrCP | Ja | |
$toLower | Ja | |
$toString | Ja | |
$trim | Ja | |
$toUpper | Ja | |
Textuttrycksoperator | $meta | Ja |
Tidsstämpeluttrycksoperatorer | Stöds ej. | |
Operatorer för trigonometriuttryck | Stöds ej. | |
Typuttrycksoperatorer | $convert | Ja |
$isNumber | Ja | |
$toBool | Ja | |
$toDate | Ja | |
$toDecimal | Ja | |
$toDouble | Ja | |
$toInt | Ja | |
$toLong | Ja | |
$toObjectId | Ja | |
$toString | Ja | |
$type | Ja | |
Ackumulatorer ($group, $bucket, $bucketAuto, $setWindowFields) | $accumulator | Nej |
$addToSet | Nej | |
$avg | Ja | |
$bottom | Nej | |
$bottomN | Nej | |
$count /td> | Ja | |
$first | Ja | |
$firstN | Ja | |
$last | Ja | |
$lastN | Ja | |
$max | Ja | |
$maxN | Nej | |
$median | Nej | |
$mergeObjects | Nej | |
$min | Ja | |
$percentile | Nej | |
$push | Nej | |
$stdDevPop | Nej | |
$stdDevSamp | Nej | |
$sum | Ja | |
$top | Nej | |
$topN | Nej | |
Ackumulatorer (i andra steg) | $avg | Nej |
$first | Ja | |
$last | Ja | |
$max | Nej | |
$median | Nej | |
$min | Nej | |
$percentile | Nej | |
$stdDevPop | Nej | |
$stdDevSamp | Nej | |
$sum | Nej | |
Operatorer för variabeluttryck | Stöds ej. | |
Fönsteroperatorer | Stöds ej. | |
Operatorer för villkorsuttryck | $cond | Ja |
$ifNull | Ja | |
$switch | Ja | |
Faser för sammansättningspipeline | $addFields | Ja |
$bucket | Nej | |
$bucketAuto | Nej | |
$changeStream | Nej | |
$changeStreamSplitLargeEvent | Nej | |
$collStats | Ja | |
$count | Ja | |
$densify | Nej | |
$documents | Nej | |
$facet | Ja | |
$fill | Nej | |
$geoNear | Nej | |
$graphLookup | Ja | |
$group | Ja | |
$indexStats | Ja | |
$limit | Ja | |
$listSampledQueries | Nej | |
$listSearchIndexes | Nej | |
$listSessions | Nej | |
$lookup | Ja | |
$match | Ja | |
$merge | Nej | |
$out | Nej | |
$planCacheStats | Nej | |
$project | Ja | |
$redact | Nej | |
$replaceRoot | Ja | |
$replaceWith | Ja | |
$sample | Ja | |
$search | Ja | |
$searchMeta | Ja | |
$set | Ja | |
$setWindowFields | Nej | |
$skip | Ja | |
$sort | Ja | |
$sortByCount | Ja | |
$unionWith | Nej | |
$unset | Ja | |
$unwind | Ja | |
$shardedDataDistribution | Nej | |
$changeStream | Nej | |
$currentOp | Ja | |
$listLocalSessions | Nej | |
$documents | Nej |
Index och indexegenskaper
Azure Cosmos DB for MongoDB vCore stöder följande index och indexegenskaper:
Kommentar
När du skapar ett unikt index får du ett exklusivt lås på samlingen under hela byggprocessen. Detta blockerar läs- och skrivåtgärder i samlingen tills åtgärden har slutförts.
Index
Command | Stöds |
Index för enstaka fält | Ja |
Sammansatt index | Ja |
Multikey-index | Ja |
Textindex | Ja |
Geospatialt index | I privat förhandsversion* |
Hash-index | Ja |
Vektorindex (endast tillgängligt i Cosmos DB) | Ja, med vektorsökning |
Indexegenskaper
Command | Stöds |
TTL | Ja |
Unik | Ja |
Delvis | Ja |
Skiftlägesokänsligt | Nej |
Utspridda | Ja |
Bakgrund | Ja |