Verwenden von MongoDB-Erweiterungsbefehlen zum Verwalten von Daten in der API für MongoDB von Azure Cosmos DBUse MongoDB extension commands to manage data stored in Azure Cosmos DB’s API for MongoDB

Azure Cosmos DB ist ein global verteilter Datenbankdienst von Microsoft mit mehreren Modellen.Azure Cosmos DB is Microsoft's globally distributed multi-model database service. Sie können mit der API für MongoDB von Azure Cosmos DB über einen der Open-Source-MongoDB-Clienttreiber kommunizieren.You can communicate with the Azure Cosmos DB’s API for MongoDB by using any of the open source MongoDB client drivers. Die API für MongoDB von Azure Cosmos DB ermöglicht die Verwendung vorhandener Clienttreiber über das Wire Protocol von MongoDB.The Azure Cosmos DB’s API for MongoDB enables the use of existing client drivers by adhering to the MongoDB wire protocol.

Mit der API für MongoDB von Azure Cosmos DB kommen Sie in den Genuss der Vorteile von Cosmos DB, z. B. globale Verteilung, automatisches Sharding, Hochverfügbarkeit, Latenzgarantien, automatische Verschlüsselung im ruhenden Zustand, Sicherungen und vieles mehr, während gleichzeitig Ihre Investitionen in Ihre MongoDB-App geschützt werden.By using the Azure Cosmos DB’s API for MongoDB, you can enjoy the benefits Cosmos DB such as global distribution, automatic sharding, high availability, latency guarantees, automatic, encryption at rest, backups, and many more, while preserving your investments in your MongoDB app.

Protokollunterstützung für MongoDBMongoDB protocol support

Standardmäßig ist die API für MongoDB von Azure Cosmos DB mit der MongoDB-Serverversion 3.2 kompatibel. Ausführlichere Informationen finden Sie im Artikel zu den unterstützten Features und zur Syntax.By default, the Azure Cosmos DB’s API for MongoDB is compatible with MongoDB server version 3.2, for more details, see supported features and syntax. Die in MongoDB Version 3.4 hinzugefügten Features und Abfrageoperatoren sind derzeit als Vorschauversion in der API für MongoDB von Azure Cosmos DB verfügbar.The features or query operators added in MongoDB version 3.4 are currently available as a preview in the Azure Cosmos DB’s API for MongoDB. Die folgenden Erweiterungsbefehle unterstützen spezifische Funktionen von Azure Cosmos DB, wenn für die Daten, die unter der API für MongoDB von Azure Cosmos DB gespeichert sind, CRUD-Vorgänge durchgeführt werden:The following extension commands support Azure Cosmos DB specific functionality when performing CRUD operations on the data stored in Azure Cosmos DB’s API for MongoDB:

Erstellen der DatenbankCreate database

Mit dem Erweiterungsbefehl „CreateDatabase“ wird eine neue MongoDB-Datenbank erstellt.The create database extension command creates a new MongoDB database. Der Name der Datenbank wird aus dem Datenbankkontext verwendet, unter dem der Befehl ausgeführt wird.The database name is used from the databases context against which the command is executed. Das Format des Befehls „CreateDatabase“ lautet:The format of the CreateDatabase command is as follows:

{
  customAction: "CreateDatabase",
  offerThroughput: <Throughput that you want to provision on the database>
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Name des benutzerdefinierten Befehls. Er muss „CreateDatabase“ lauten.Name of the custom command, it must be "CreateDatabase".
offerThroughputofferThroughput intint Bereitgestellter Durchsatz, den Sie für die Datenbank festgelegt haben.Provisioned throughput that you set on the database. Dieser Parameter ist optional.This parameter is optional.

OutputOutput

Gibt eine Standardantwort für den benutzerdefinierten Befehl zurück.Returns a default custom command response. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Erstellen einer DatenbankCreate a database

Verwenden Sie den folgenden Befehl, um eine Datenbank mit dem Namen „test“ zu erstellen:To create a database named "test", use the following command:

use test
db.runCommand({customAction: "CreateDatabase"});

Erstellen einer Datenbank und Bereitstellen eines DurchsatzesCreate a database with throughput

Verwenden Sie den folgenden Befehl, um eine Datenbank mit dem Namen „test“ und einem bereitgestellten Durchsatz von 1.000 RUs zu erstellen:To create a database named "test" and provisioned throughput of 1000 RUs, use the following command:

use test
db.runCommand({customAction: "CreateDatabase", offerThroughput: 1000 });

Aktualisieren der DatenbankUpdate database

Mit dem Erweiterungsbefehl „UpdateDatabase“ werden die Eigenschaften aktualisiert, die der angegebenen Datenbank zugeordnet sind.The update database extension command updates the properties associated with the specified database. Derzeit können Sie nur die „offerThroughput“-Eigenschaft aktualisieren.Currently, you can only update the "offerThroughput" property.

{
  customAction: "UpdateDatabase",
  offerThroughput: <New throughput that you want to provision on the database> 
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Der Name des benutzerdefinierten Befehls.Name of the custom command. Er muss „UpdateDatabase“ lauten.Must be "UpdateDatabase".
offerThroughputofferThroughput intint Neuer bereitgestellter Durchsatz, den Sie für die Datenbank festlegen möchten.New provisioned throughput that you want to set on the database.

OutputOutput

Gibt eine Standardantwort für den benutzerdefinierten Befehl zurück.Returns a default custom command response. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Aktualisieren des bereitgestellten Durchsatzes für eine DatenbankUpdate the provisioned throughput associated with a database

Verwenden Sie den folgenden Befehl, um den bereitgestellten Durchsatz einer Datenbank mit dem Namen „test“ auf 1.200 RUs zu aktualisieren:To update the provisioned throughput of a database with name "test" to 1200 RUs, use the following command:

use test
db.runCommand({customAction: "UpdateDatabase", offerThroughput: 1200 });

Abrufen der DatenbankGet database

Mit dem Erweiterungsbefehl „GetDatabase“ wird das Datenbankobjekt zurückgegeben.The get database extension command returns the database object. Der Name der Datenbank wird aus dem Datenbankkontext verwendet, unter dem der Befehl ausgeführt wird.The database name is used from the database context against which the command is executed.

{
  customAction: "GetDatabase"
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Der Name des benutzerdefinierten Befehls.Name of the custom command. Er muss „GetDatabase“ lauten.Must be "GetDatabase"

OutputOutput

Wenn der Befehl erfolgreich ist, enthält die Antwort ein Dokument mit den folgenden Feldern:If the command succeeds, the response contains a document with the following fields:

FeldField TypType BeschreibungDescription
ok int Status der Antwort.Status of response. 1 == Erfolgreich.1 == success. 0 == Fehler.0 == failure.
database string Der Name der Datenbank.Name of the database.
provisionedThroughput int Bereitgestellter Durchsatz, der für die Datenbank festgelegt wurde.Provisioned throughput that is set on the database. Dies ist ein optionaler Antwortparameter.This is an optional response parameter.

Wenn der Befehl nicht erfolgreich ist, wird eine Standardantwort für den benutzerdefinierten Befehl zurückgegeben.If the command fails, a default custom command response is returned. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Abrufen der DatenbankGet the database

Verwenden Sie den folgenden Befehl, um das Datenbankobjekt für eine Datenbank mit dem Namen „test“ abzurufen:To get the database object for a database named "test", use the following command:

use test
db.runCommand({customAction: "GetDatabase"});

Erstellen der SammlungCreate collection

Mit dem Erweiterungsbefehl „CreateCollection“ wird eine neue MongoDB-Sammlung erstellt.The create collection extension command creates a new MongoDB collection. Der Name der Datenbank wird aus dem Datenbankkontext verwendet, unter dem der Befehl ausgeführt wird.The database name is used from the databases context against which the command is executed. Das Format des Befehls „CreateCollection“ lautet:The format of the CreateCollection command is as follows:

{
  customAction: "CreateCollection",
  collection: <Collection Name>,
  offerThroughput: <Throughput that you want to provision on the collection>,
  shardKey: <Shard key path>  
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Der Name des benutzerdefinierten Befehls.Name of the custom command. Er muss „CreateCollection“ lauten.Must be "CreateCollection"
collectioncollection Zeichenfolgestring Name der SammlungName of the collection
offerThroughputofferThroughput intint Bereitgestellter Durchsatz, der für die Datenbank festgelegt werden soll.Provisioned Throughput to set on the database. Dies ist ein optionaler Parameter.It's an Optional parameter
shardKeyshardKey Zeichenfolgestring Pfad zum Shardschlüssel für die Erstellung einer Sammlung mit Shards.Shard Key path to create a sharded collection. Dies ist ein optionaler Parameter.It's an Optional parameter

OutputOutput

Gibt eine Standardantwort für den benutzerdefinierten Befehl zurück.Returns a default custom command response. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Erstellen einer Sammlung ohne ShardsCreate a unsharded collection

Verwenden Sie den folgenden Befehl, um eine Sammlung ohne Shards mit dem Namen „testCollection“ und einem bereitgestellten Durchsatz von 1.000 RUs zu erstellen:To create a unsharded collection with name "testCollection" and provisioned throughput of 1000 RUs, use the following command:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection", offerThroughput: 1000});

Erstellen einer Sammlung mit ShardsCreate a sharded collection

Verwenden Sie den folgenden Befehl, um eine Sammlung mit Shards mit dem Namen „testCollection“ und einem bereitgestellten Durchsatz von 1.000 RUs zu erstellen:To create a sharded collection with name "testCollection" and provisioned throughput of 1000 RUs, use the following command:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection", offerThroughput: 1000, shardKey: "a.b" });

Aktualisieren der SammlungUpdate collection

Mit dem Erweiterungsbefehl „UpdateCollection“ werden die Eigenschaften aktualisiert, die der angegebenen Sammlung zugeordnet sind.The update collection extension command updates the properties associated with the specified collection.

{
  customAction: "UpdateCollection",
  collection: <Name of the collection that you want to update>,
  offerThroughput: <New throughput that you want to provision on the collection> 
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Der Name des benutzerdefinierten Befehls.Name of the custom command. Er muss „UpdateCollection“ lauten.Must be "UpdateCollection".
collectioncollection Zeichenfolgestring Name der SammlungName of the collection.
offerThroughputofferThroughput intint Bereitgestellter Durchsatz, der für die Sammlung festgelegt wird.Provisioned throughput to set on the collection.

OutputOutput

Gibt eine Standardantwort für den benutzerdefinierten Befehl zurück.Returns a default custom command response. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Aktualisieren des bereitgestellten Durchsatzes für eine SammlungUpdate the provisioned throughput associated with a collection

Verwenden Sie den folgenden Befehl, um den bereitgestellten Durchsatz einer Sammlung mit dem Namen „testCollection“ auf 1.200 RUs zu aktualisieren:To update the provisioned throughput of a collection with name "testCollection" to 1200 RUs, use the following command:

use test
db.runCommand({customAction: "UpdateCollection", collection: "testCollection", offerThroughput: 1200 });

Abrufen der SammlungGet collection

Mit dem benutzerdefinierten Befehl „GetCollection“ wird das Sammlungsobjekt zurückgegeben.The get collection custom command returns the collection object.

{
  customAction: "GetCollection",
  collection: <Name of the collection>
}

In der folgenden Tabelle sind die Parameter des Befehls beschrieben:The following table describes the parameters within the command:

FeldField TypType BeschreibungDescription
customActioncustomAction Zeichenfolgestring Der Name des benutzerdefinierten Befehls.Name of the custom command. Er muss „GetCollection“ lauten.Must be "GetCollection".
collectioncollection Zeichenfolgestring Name der SammlungName of the collection.

OutputOutput

Wenn der Befehl erfolgreich ist, enthält die Antwort ein Dokument mit den folgenden Feldern:If the command succeeds, the response contains a document with the following fields

FeldField TypType BeschreibungDescription
ok int Status der Antwort.Status of response. 1 == Erfolgreich.1 == success. 0 == Fehler.0 == failure.
database string Der Name der Datenbank.Name of the database.
collection string Name der SammlungName of the collection.
shardKeyDefinition document Dokument mit Indexspezifikation zur Verwendung als Shardschlüssel.Index specification document used as a shard key. Dies ist ein optionaler Antwortparameter.This is an optional response parameter.
provisionedThroughput int Bereitgestellter Durchsatz, der für die Sammlung festgelegt werden soll.Provisioned Throughput to set on the collection. Dies ist ein optionaler Antwortparameter.This is an optional response parameter.

Wenn der Befehl nicht erfolgreich ist, wird eine Standardantwort für den benutzerdefinierten Befehl zurückgegeben.If the command fails, a default custom command response is returned. Informationen hierzu finden Sie in der Standardausgabe des benutzerdefinierten Befehls für die Parameter in der Ausgabe.See the default output of custom command for the parameters in the output.

BeispieleExamples

Abrufen der SammlungGet the collection

Verwenden Sie den folgenden Befehl, um das Sammlungsobjekt für eine Sammlung mit dem Namen „testCollection“ abzurufen:To get the collection object for a collection named "testCollection", use the following command:

use test
db.runCommand({customAction: "GetCollection", collection: "testCollection"});

Standardausgabe eines benutzerdefinierten BefehlsDefault output of a custom command

Wenn nichts anderes angegeben ist, enthält eine benutzerdefinierte Antwort ein Dokument mit den folgenden Feldern:If not specified, a custom response contains a document with the following fields:

FeldField TypType BeschreibungDescription
ok int Status der Antwort.Status of response. 1 == Erfolgreich.1 == success. 0 == Fehler.0 == failure.
code int Wird nur zurückgegeben, wenn der Befehl nicht erfolgreich ist (ok == 0).Only returned when the command failed (i.e. ok == 0). Enthält den MongoDB-Fehlercode.Contains the MongoDB error code. Dies ist ein optionaler Antwortparameter.This is an optional response parameter.
errMsg string Wird nur zurückgegeben, wenn der Befehl nicht erfolgreich ist (ok == 0).Only returned when the command failed (i.e. ok == 0). Enthält eine benutzerfreundliche Fehlermeldung.Contains a user-friendly error message. Dies ist ein optionaler Antwortparameter.This is an optional response parameter.

Nächste SchritteNext steps

Sie können sich nun über die folgenden Azure Cosmos DB-Konzepte informieren:Next you can proceed to learn the following Azure Cosmos DB concepts: