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 | Unterstützt |
Aggregationsbefehle | -Aggregat | Ja |
count | Ja | |
distinct | Ja | |
mapReduce | Als veraltet markiert | |
Authentifizierungsbefehle | authenticate | Ja |
getnonce | Ja | |
logout | Ja | |
Geospatialbefehle | geoSearch | Als veraltet markiert |
Abfrageplan-Cachebefehle | Nein | |
Administrative Befehle | cloneCollectionAsCapped | -Nr. Gekappte Sammlungen werden derzeit nicht unterstützt. |
collMod | Teilweise | |
compact | Nein | |
connPoolSync | Als veraltet markiert | |
convertToCapped | -Nr. Gekappte Sammlungen werden derzeit nicht unterstützt. | |
create | Teilweise | |
createIndexes | Ja | |
currentOp | Ja | |
drop | Ja | |
dropDatabase | Ja | |
dropConnections | Als PaaS-Dienst wird dies von Azure verwaltet. | |
dropIndexes | Ja | |
filemd5 | Nein | |
fsync | Als PaaS-Dienst wird dies von Azure verwaltet. | |
fsyncUnlock | Als PaaS-Dienst wird dies von Azure verwaltet. | |
getDefaultRWConcern | Ja | |
getClusterParameter | Nein | |
getParameter | Ja | |
killCursors | Ja | |
killOp | Ja | |
listCollections | Ja | |
listDatabases | Ja | |
listIndexes | Ja | |
logRotate | Als PaaS-Dienst wird dies von Azure verwaltet. | |
reIndex | Ja | |
renameCollection | Ja | |
rotateCertificates | Als PaaS-Dienst wird dies von Azure verwaltet. | |
setFeatureCompatibilityVersion | Als PaaS-Dienst wird dies von Azure verwaltet. | |
setIndexCommitQuorum | Nein | |
setParameter | Teilweise | |
setDefaultRWConcern | Nein | |
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 | Ja |
isdbgrid | Ja | |
reshardCollection | Ja | |
shardCollection | Ja | |
unsetSharding | Als veraltet markiert | |
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 | ||
reshardCollection | Nein | |
Befehle für Abfrage- und Schreibvorgänge | change streams | Nein |
delete | Ja | |
find | Ja | |
findAndModify | Ja | |
getLastError | Ja | |
getMore | Teilweise | |
insert | Ja | |
resetError | Als veraltet markiert | |
update | Ja | |
Sitzungsbefehle | abortTransaction | Ja |
commitTransaction | Ja | |
endSessions | Ja | |
killAllSessions | Nein | |
killAllSessionsByPattern | Nein | |
killSessions | Ja | |
refreshSessions | Nein | |
startSession | Ja | |
Diagnosebefehle | availableQueryOptions | Nein |
buildInfo | Ja | |
collStats | Ja | |
connPoolStats | Nein | |
connectionStatus | Teilweise | |
dataSize | Nein | |
dbHash | Nein | |
dbStats | Ja | |
driverOIDTest | Als PaaS-Dienst wird dies von Azure verwaltet. | |
explain | Ja | |
features | Als PaaS-Dienst wird dies von Azure verwaltet. | |
getCmdLineOpts | Ja | |
getLog | Ja | |
hostInfo | Teilweise | |
_isSelf | Nein | |
listCommands | Ja | |
lockInfo | Nein | |
netstat | Nein | |
ping | Ja | |
profile | Als PaaS-Dienst wird dies von Azure verwaltet. | |
serverStatus | Ja | |
shardConnPoolStats | Als veraltet markiert | |
top | Nein | |
validate | Ja | |
whatsmyuri | Ja | |
Befehle zur Überwachung von Systemereignissen | logApplicationMessage | Nein |
Operatoren
Im Folgenden finden Sie die Liste der derzeit auf Azure Cosmos DB für MongoDB vCore unterstützten Operatoren:
Hinweis
Die $lookup
-Aggregation unterstützt die Verwendung von Variablenausdrücken mithilfe von „let“ noch nicht.
AvgObjsize und Größe in „collStats“ funktioniert nur mit Dokumentgröße kleiner als 2 KB.
Kategorie | Operator | Unterstützt |
Vergleichsabfrageoperatoren | $eq | Ja |
$gt | Ja | |
$gte | Ja | |
$in | Ja | |
$lt | Ja | |
$lte | Ja | |
$ne | Ja | |
$nin | Ja | |
Logische Abfrageoperatoren | $and | Ja |
$not | Ja | |
$nor | Ja | |
$or | Ja | |
Elementabfrageoperatoren | $exists | Ja |
$type | Ja | |
Abfrageoperatoren für die Auswertung | $expr | Ja |
$jsonSchema | Nein | |
$mod | Ja | |
$regex | Ja | |
$text | Ja | |
$where | Nein | |
Räumliche Operatoren | in der privaten Vorschau* | |
Array-Abfrageoperatoren | $all | Ja |
$elemMatch | Ja | |
$size | Ja | |
Bitweise Abfrageoperatoren | $bitsAllClear | Ja |
$bitsAllSet | Ja | |
$bitsAnyClear | Ja | |
$bitsAnySet | Ja | |
Projektionsoperatoren | $ | Ja |
$elemMatch | Ja | |
$meta | Ja | |
$slice | Ja | |
Verschiedene Abfrageoperatoren | $comment | Nein |
$rand | Ja | |
$natural | Nein | |
Operatoren für die Feldaktualisierung | $currentDate | Ja |
$inc | Ja | |
$min | Ja | |
$max | Ja | |
$mul | Ja | |
$rename | Ja | |
$set | Ja | |
$setOnInsert | Ja | |
$unset | Ja | |
Operatoren für die Array-Aktualisierung | $ | Ja |
$[] | Ja | |
$[identifier] | Ja | |
$addToSet | Ja | |
$pop | Ja | |
$pull | Ja | |
$push | Ja | |
$pullAll | Ja | |
$each | Ja | |
$position | Ja | |
$slice | Ja | |
$sort | Ja | |
Bitweiser Update-Operator | $bit | Ja |
Operatoren für arithmetische Ausdrücke | $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 | |
Array-Ausdrucksoperatoren | $arrayElemAt | Ja |
$arrayToObject | Ja | |
$concatArrays | Ja | |
$filter | Ja | |
$firstN | Ja | |
$in | Ja | |
$indexOfArray | Ja | |
$isArray | Ja | |
$lastN | Ja | |
$map | Ja | |
$maxN | Nein | |
$minN | Nein | |
$objectToArray | Ja | |
$range | Ja | |
$reduce | Ja | |
$reverseArray | Ja | |
$size | Ja | |
$slice | Ja | |
$sortArray | Nein | |
$zip | Nein | |
Bitwise Operators (Bitweise Operatoren) | $bitAnd | Ja |
$bitNot | Ja | |
$bitOr | Ja | |
$bitXor | Ja | |
Boolesche Ausdrucksoperatoren | $and | Ja |
$not | Ja | |
$or | Ja | |
Vergleichsausdrucksoperatoren | $cmp | Ja |
$eq | Ja | |
$gt | Ja | |
$gte | Ja | |
$lt | Ja | |
$lte | Ja | |
$ne | Ja | |
Benutzerdefinierte Aggregationsausdrucksoperatoren | Wird nicht unterstützt. | |
Operatoren für die Datengröße | $bsonSize | Ja |
$binarySize | Ja | |
Operatoren für Date-Ausdrücke | $dateAdd | Ja |
$dateDiff | Ja | |
$dateFromParts | Ja | |
$dateFromString | Ja | |
$dateSubtract | Ja | |
$dateToParts | Ja | |
$dateToString | Ja | |
$dateTrunc | Ja | |
$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 | |
Literalausdrucksoperator | $literal | Ja |
Verschiedene Operatoren | $getField | Nein |
$rand | Ja | |
$sampleRate | Nein | |
Objektausdrucksoperatoren | $mergeObjects | Ja |
$objectToArray | Ja | |
$setField | Ja | |
Ausdrucksmengenoperatoren | $allElementsTrue | Ja |
$anyElementTrue | Ja | |
$setDifference | Ja | |
$setEquals | Ja | |
$setIntersection | Ja | |
$setIsSubset | Ja | |
$setUnion | Ja | |
Zeichenfolgenausdrucksoperatoren | $concat | Ja |
$dateFromString | Nein | |
$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 | |
Operator für Textausdruck | $meta | Ja |
Zeitstempelausdrucksoperatoren | Wird nicht unterstützt. | |
Trigonometrieausdrucksoperatoren | Wird nicht unterstützt. | |
Typ Ausdrucksoperatoren | $convert | Ja |
$isNumber | Ja | |
$toBool | Ja | |
$toDate | Ja | |
$toDecimal | Ja | |
$toDouble | Ja | |
$toInt | Ja | |
$toLong | Ja | |
$toObjectId | Ja | |
$toString | Ja | |
$type | Ja | |
Akkumulatoren ($group, $bucket, $bucketAuto, $setWindowFields) | $accumulator | Nein |
$addToSet | Nein | |
$avg | Ja | |
$bottom | Nein | |
$bottomN | Nein | |
$count | Ja | |
$first | Ja | |
$firstN | Ja | |
$last | Ja | |
$lastN | Ja | |
$max | Ja | |
$maxN | Nein | |
$median | Nein | |
$mergeObjects | Nein | |
$min | Ja | |
$percentile | Nein | |
$push | Nein | |
$stdDevPop | Nein | |
$stdDevSamp | Nein | |
$sum | Ja | |
$top | Nein | |
$topN | Nein | |
Akkumulatoren (in anderen Stufen) | $avg | Nein |
$first | Ja | |
$last | Ja | |
$max | Nein | |
$median | Nein | |
$min | Nein | |
$percentile | Nein | |
$stdDevPop | Nein | |
$stdDevSamp | Nein | |
$sum | Nein | |
Variablenausdrucksoperatoren | Wird nicht unterstützt. | |
Fensteroperatoren | Wird nicht unterstützt. | |
Bedingte Ausdrucksoperatoren | $cond | Ja |
$ifNull | Ja | |
$switch | Ja | |
Stufen der Aggregationspipeline | $addFields | Ja |
$bucket | Nein | |
$bucketAuto | Nein | |
$changeStream | Nein | |
$changeStreamSplitLargeEvent | Nein | |
$collStats | Ja | |
$count | Ja | |
$densify | Nein | |
$documents | Nein | |
$facet | Ja | |
$fill | Nein | |
$geoNear | Nein | |
$graphLookup | Ja | |
$group | Ja | |
$indexStats | Ja | |
$limit | Ja | |
$listSampledQueries | Nein | |
$listSearchIndexes | Nein | |
$listSessions | Nein | |
$lookup | Ja | |
$match | Ja | |
$merge | Nein | |
$out | Nein | |
$planCacheStats | Nein | |
$project | Ja | |
$redact | Nein | |
$replaceRoot | Ja | |
$replaceWith | Ja | |
$sample | Ja | |
$search | Ja | |
$searchMeta | Ja | |
$set | Ja | |
$setWindowFields | Nein | |
$skip | Ja | |
$sort | Ja | |
$sortByCount | Ja | |
$unionWith | Nein | |
$unset | Ja | |
$unwind | Ja | |
$shardedDataDistribution | Nein | |
$changeStream | Nein | |
$currentOp | Ja | |
$listLocalSessions | Nein | |
$documents | Nein |
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 | Ja |
Verbundindex | Ja |
Index mit mehreren Schlüsseln | Ja |
Textindex | Ja |
Räumlicher Index | in der privaten Vorschau* |
Hashindex | Ja |
Vektorindex (nur in Cosmos DB verfügbar) | Ja, mit Vektorsuche |
Indexeigenschaften
Get-Help | Unterstützt |
TTL | Ja |
Eindeutig | Ja |
Teilweise | Ja |
Keine Beachtung von Groß-/Kleinschreibung | Nein |
Platzsparend | Ja |
Hintergrund | Ja |