MongoDB-Kompatibilität und Featureunterstützung mit Azure Cosmos DB for MongoDB mit virtuellem Kern
GILT FÜR: MongoDB-vCore
Azure Cosmos DB für MongoDB vCore ermöglicht es Ihnen, die vertrauten MongoDB-Vorteile zu erleben und gleichzeitig auf die erweiterten Unternehmensfunktionen von Azure Cosmos DB zuzugreifen. Es stellt die Kompatibilität sicher, indem es dem MongoDB Wire-Protokoll folgt, sodass Sie vorhandene Clienttreiber, SDKs und andere Tools, mit denen Sie bereits vertraut sind, nutzen können.
Protokollunterstützung
Die unterstützten Operatoren und alle Einschränkungen oder Ausnahmen sind hier aufgeführt. Alle Clienttreiber, die diese Protokolle verstehen, sollten auch mit der API für Azure Cosmos DB for MongoDB eine Verbindung herstellen können. Wenn Sie Azure Cosmos DB for MongoDB-Cluster mit virtuellem Kern erstellen, hat der Endpunkt das Format *.mongocluster.cosmos.azure.com
.
Unterstützung der Abfragesprache
Azure Cosmos DB for MongoDB bietet umfassende Unterstützung für MongoDB-Abfragesprachkonstrukte. Im Folgenden finden Sie eine detaillierte Liste der derzeit unterstützten Datenbankbefehle, Operatoren, Stufen/Stages und Optionen.
Hinweis
Dieser Artikel enthält nur die unterstützten Serverbefehle und keine clientseitigen Wrapperfunktionen. Für clientseitige Wrapperfunktionen, z. B. deleteMany()
und updateMany()
, werden intern die Serverbefehle delete()
und update()
genutzt. Funktionen, für die unterstützte Serverbefehle genutzt werden, sind mit der API für Azure Cosmos DB for MongoDB kompatibel.
Datenbankbefehle
Azure Cosmos DB for MongoDB mit virtuellem Kern unterstützt die folgenden Datenbankbefehle:
Kategorie | Befehl | Feature | ||
V5.0 | V6.0 | V7.0 | ||
Aggregationsbefehle | -Aggregat | |||
count | ||||
distinct | ||||
mapReduce | Veraltet in MongoDB 5.0 | |||
Authentifizierungsbefehle | authenticate | |||
getnonce | In MongoDB 4.0 eingestellt | |||
logout | Veraltet in MongoDB 5.0 | |||
Geospatialbefehle | geoSearch | Veraltet in MongoDB 5.0 | ||
Abfrageplan-Cachebefehle | ||||
Administrative Befehle | cloneCollectionAsCapped | Nein, Sammlungen mit einer Obergrenze werden derzeit nicht unterstützt. | ||
collMod | ||||
compact | ||||
convertToCapped | -Nr. Gekappte Sammlungen werden derzeit nicht unterstützt. | |||
create | ||||
createIndexes | ||||
currentOp | ||||
drop | ||||
dropDatabase | ||||
dropConnections | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
dropIndexes | ||||
filemd5 | ||||
fsync | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
fsyncUnlock | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
getDefaultRWConcern | ||||
getClusterParameter | ||||
getParameter | ||||
killCursors | ||||
killOp | ||||
listCollections | ||||
listDatabases | ||||
listIndexes | ||||
logRotate | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
reIndex | ||||
renameCollection | ||||
rotateCertificates | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
setFeatureCompatibilityVersion | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
setIndexCommitQuorum | ||||
setParameter | ||||
setDefaultRWConcern | ||||
shutdown | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
Befehle zur Benutzer- und Rollenverwaltung | Wird heute nicht unterstützt, wird aber in Zukunft über Azure Active Directory verfügbar gemacht. | |||
Replikationsbefehle | Azure verwaltet die Replikation, sodass die Kunden nicht mehr manuell replizieren müssen. | |||
Befehle für horizontales Partitionieren | enableSharding | |||
isdbgrid | ||||
reshardCollection | ||||
shardCollection | ||||
unsetSharding | Veraltet in MongoDB 5.0 | |||
addShard | Als Plattform-as-a-Service (PaaS)-Angebot verwaltet Azure die Shardverwaltung und Neugewichtung. Benutzer müssen nur die Shardingstrategie für die Sammlungen angeben und Azure übernimmt den Rest. | |||
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 | ||||
Befehle für Abfrage- und Schreibvorgänge | change streams | |||
delete | ||||
find | ||||
findAndModify | ||||
getLastError | In MongoDB 5.1 eingestellt | |||
getMore | ||||
insert | ||||
resetError | Veraltet in MongoDB 5.0 | |||
update | ||||
Sitzungsbefehle | abortTransaction | |||
commitTransaction | ||||
endSessions | ||||
killAllSessions | ||||
killAllSessionsByPattern | ||||
killSessions | ||||
refreshSessions | ||||
startSession | ||||
Diagnosebefehle | availableQueryOptions | |||
buildInfo | ||||
collStats | ||||
connPoolStats | ||||
connectionStatus | ||||
dataSize | ||||
dbHash | ||||
dbStats | ||||
driverOIDTest | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
explain | ||||
features | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
getCmdLineOpts | ||||
getLog | ||||
hello | ||||
hostInfo | ||||
_isSelf | ||||
listCommands | ||||
lockInfo | ||||
netstat | ||||
ping | ||||
profile | Als PaaS-Dienst wird dies von Azure verwaltet. | |||
serverStatus | ||||
shardConnPoolStats | Veraltet in MongoDB 5.0 | |||
top | ||||
validate | ||||
whatsmyuri | ||||
Befehle zur Überwachung von Systemereignissen | logApplicationMessage |
Operatoren
Im Folgenden finden Sie die Liste der derzeit auf Azure Cosmos DB für MongoDB vCore unterstützten Operatoren:
Hinweis
AvgObjsize und Größe in „collStats“ und „dbStats“ funktionieren nur mit einer Dokumentgröße kleiner als 2 KB.
Kategorie | Befehl | Feature | ||
V5.0 | V6.0 | V7.0 | ||
Vergleichsabfrageoperatoren | $eq | |||
$gt | ||||
$gte | ||||
$in | ||||
$lt | ||||
$lte | ||||
$ne | ||||
$nin | ||||
Logische Abfrageoperatoren | $and | |||
$not | ||||
$nor | ||||
$or | ||||
Elementabfrageoperatoren | $exists | |||
$type | ||||
Abfrageoperatoren für die Auswertung | $expr | |||
$jsonSchema | ||||
$mod | ||||
$regex | ||||
$text | ||||
$where | ||||
Räumliche Operatoren | $geoIntersects | |||
$geoWithin | ||||
$box | ||||
$center | ||||
$centerSphere | ||||
$geometry | ||||
$maxDistance | ||||
$minDistance | ||||
$polygon | ||||
$near | ||||
$nearSphere | ||||
Array-Abfrageoperatoren | $all | |||
$elemMatch | ||||
$size | ||||
Bitweise Abfrageoperatoren | $bitsAllClear | |||
$bitsAllSet | ||||
$bitsAnyClear | ||||
$bitsAnySet | ||||
Projektionsoperatoren | $ | |||
$elemMatch | ||||
$meta | ||||
$slice | ||||
Verschiedene Abfrageoperatoren | $comment | |||
$rand | ||||
$natural | ||||
Operatoren für die Feldaktualisierung | $currentDate | |||
$inc | ||||
$min | ||||
$max | ||||
$mul | ||||
$rename | ||||
$set | ||||
$setOnInsert | ||||
$unset | ||||
Operatoren für die Array-Aktualisierung | $ | |||
$[] | ||||
$[identifier] | ||||
$addToSet | ||||
$pop | ||||
$pull | ||||
$push | ||||
$pullAll | ||||
$each | ||||
$position | ||||
$slice | ||||
$sort | ||||
Bitweiser Update-Operator | $bit | |||
Operatoren für arithmetische Ausdrücke | $abs | |||
$add | ||||
$ceil | ||||
$divide | ||||
$exp | ||||
$floor | ||||
$ln | ||||
$log | ||||
$log10 | ||||
$mod | ||||
$multiply | ||||
$pow | ||||
$round | ||||
$sqrt | ||||
$subtract | ||||
$trunc | ||||
Array-Ausdrucksoperatoren | $arrayElemAt | |||
$arrayToObject | ||||
$concatArrays | ||||
$filter | ||||
$firstN | ||||
$in | ||||
$indexOfArray | ||||
$isArray | ||||
$lastN | ||||
$map | ||||
$maxN | ||||
$minN | ||||
$objectToArray | ||||
$range | ||||
$reduce | ||||
$reverseArray | ||||
$size | ||||
$slice | ||||
$sortArray | ||||
$zip | ||||
Bitwise Operators (Bitweise Operatoren) | $bitAnd | |||
$bitNot | ||||
$bitOr | ||||
$bitXor | ||||
Boolesche Ausdrucksoperatoren | $and | |||
$not | ||||
$or | ||||
Vergleichsausdrucksoperatoren | $cmp | |||
$eq | ||||
$gt | ||||
$gte | ||||
$lt | ||||
$lte | ||||
$ne | ||||
Benutzerdefinierte Aggregationsausdrucksoperatoren | Wird noch nicht unterstützt. | |||
Operatoren für die Datengröße | $bsonSize | |||
$binarySize | ||||
Operatoren für Date-Ausdrücke | $dateAdd | |||
$dateDiff | ||||
$dateFromParts | ||||
$dateFromString | ||||
$dateSubtract | ||||
$dateToParts | ||||
$dateToString | ||||
$dateTrunc | ||||
$dayOfMonth | ||||
$dayOfWeek | ||||
$dayOfYear | ||||
$hour | ||||
$isoDayOfWeek | ||||
$isoWeek | ||||
$isoWeekYear | ||||
$millisecond | ||||
$minute | ||||
$month | ||||
$second | ||||
$toDate | ||||
$week | ||||
$year | ||||
Literalausdrucksoperator | $literal | |||
Verschiedene Operatoren | $getField | |||
$rand | ||||
$sampleRate | ||||
Objektausdrucksoperatoren | $mergeObjects | |||
$objectToArray | ||||
$setField | ||||
Ausdrucksmengenoperatoren | $allElementsTrue | |||
$anyElementTrue | ||||
$setDifference | ||||
$setEquals | ||||
$setIntersection | ||||
$setIsSubset | ||||
$setUnion | ||||
Zeichenfolgenausdrucksoperatoren | $concat | |||
$dateFromString | ||||
$dateToString | ||||
$indexOfBytes | ||||
$indexOfCP | ||||
$ltrim | ||||
$regexFind | ||||
$regexFindAll | ||||
$regexMatch | ||||
$replaceOne | ||||
$replaceAll | ||||
$rtrim | ||||
$split | ||||
$strLenBytes | ||||
$strLenCP | ||||
$strcasecmp | ||||
$substr | ||||
$substrBytes | ||||
$substrCP | ||||
$toLower | ||||
$toString | ||||
$trim | ||||
$toUpper | ||||
Operator für Textausdruck | $meta | |||
Zeitstempelausdrucksoperatoren | $tsIncrement | |||
$tsSecond | ||||
Trigonometrieausdrucksoperatoren | $sin | |||
$cos | ||||
$tan | ||||
$asin | ||||
$acos | ||||
$atan | ||||
$atan2 | ||||
$asinh | ||||
$acosh | ||||
$atanh | ||||
$sinh | ||||
$cosh | ||||
$tanh | ||||
$degreesToRadians | ||||
$radiansToDegrees | ||||
Typ Ausdrucksoperatoren | $convert | |||
$isNumber | ||||
$toBool | ||||
$toDate | ||||
$toDecimal | ||||
$toDouble | ||||
$toInt | ||||
$toLong | ||||
$toObjectId | ||||
$toString | ||||
$type | ||||
Akkumulatoren ($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 | ||||
Akkumulatoren (in anderen Stufen) | $avg | |||
$first | ||||
$last | ||||
$max | ||||
$median | ||||
$min | ||||
$percentile | ||||
$stdDevPop | ||||
$stdDevSamp | ||||
$sum | ||||
Variablenausdrucksoperatoren | $let | |||
Fensteroperatoren | $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 | ||||
Bedingte Ausdrucksoperatoren | $cond | |||
$ifNull | ||||
$switch | ||||
Stufen der Aggregationspipeline | $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 | ||||
Variablen in Aggregationsausdrücken | NOW | |||
ROOT | ||||
REMOVE | ||||
CURRENT | ||||
CLUSTER_TIME | ||||
DESCEND | ||||
PRUNE | ||||
KEEP | ||||
SEARCH_META | ||||
USER_ROLES |
Indizes und Indexeigenschaften
Azure Cosmos DB for MongoDB mit virtuellem Kern unterstützt die folgenden Indizes und Indexeigenschaften:
Hinweis
Beim Erstellen eines eindeutigen Index wird für die gesamte Dauer des Buildprozesses eine exklusive Sperre für die Sammlung aktiviert. Dadurch werden Lese- und Schreibvorgänge für die Sammlung blockiert, bis der Vorgang abgeschlossen ist.
Indizes
Get-Help | Unterstützt |
Einzelfeldindex | |
Verbundindex | |
Index mit mehreren Schlüsseln | |
Textindex | |
Platzhalterindex | |
Räumlicher Index | |
Hashindex | |
Vektorindex (nur in Cosmos DB verfügbar) | Ja, mit Vektorsuche |
Indexeigenschaften
Get-Help | Unterstützt |
TTL | |
Eindeutig | |
Teilweise | |
Keine Beachtung von Groß-/Kleinschreibung | |
Platzsparend | |
Hintergrund |