Freigeben über


Erstellen einer Datenbank in Azure Cosmos DB für NoSQL mit JavaScript

Datenbanken in Azure Cosmos DB sind Verwaltungseinheiten für einen oder mehrere Container. Bevor Sie Container erstellen oder verwalten können, müssen Sie zuerst eine Datenbank erstellen.

Benennen einer Datenbank

In Azure Cosmos DB entspricht eine Datenbank einem Namespace. Wenn Sie eine Datenbank erstellen, bildet der Datenbankname ein Segment des URI, der für den Zugriff auf die Datenbankressource und alle untergeordneten Ressourcen verwendet wird.

Nach der Erstellung befindet sich der URI für eine Datenbank in diesem Format:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Erstellen einer Datenbank

Nachdem Sie den CosmosClient erstellt haben, verwenden Sie den Client, um eine Datenbank aus zwei verschiedenen Aufrufen zu erstellen:

  • createIfNotExists – Erstellt eine Datenbank, wenn sie nicht vorhanden ist. Wenn sie vorhanden ist, geben Sie die Datenbank zurück.
  • create - Erstellt eine Datenbank. Wenn dies vorhanden ist, wird der FehlerstatusCode zurückgegeben.
const databaseName = 'myDb';

// Possible results:
// Create then return database
// Return existing database
// Return error statusCode
const {statusCode, database } = await client.databases.createIfNotExists({ id: databaseName });

// Possible results: 
// Create then return database
// Return error statusCode, reason includes database already exists
const {statusCode, database } = await client.databases.create({ id: databaseName });

Der statusCode ist ein HTTP-Antwortcode. Eine erfolgreiche Antwort befindet sich im Bereich von 200-299.

Zugreifen auf eine Datenbank

Auf eine Datenbank wird über das Database-Objekt entweder direkt oder über ein Abfrageergebnis aus dem CosmosClient zugegriffen.

const databaseName = 'myDb';

// Direct - assumes database already exists
const { database, statusCode } = await client.database(databaseName);

// Query - assumes database already exists   
const { resources } = await client.databases
.query({
    query: `SELECT * FROM root r where r.id =@dbId`,
    parameters: [
    {
        name: '@dbId',
        value: databaseName
    }
    ]
})
.fetchAll();

Zugriff nach Objekt:

  • Datenbanken (Plural): Wird zum Erstellen neuer Datenbanken oder zum Abfragen/Lesen aller Datenbanken verwendet.
  • Datenbank (Singular): Wird zum Lesen, Aktualisieren oder Löschen einer vorhandenen Datenbank anhand der ID oder des Zugriffs auf Container verwendet, die zu dieser Datenbank gehören.

Löschen einer Datenbank

Nachdem Sie das Database-Objekt abgerufen haben, können Sie das Database-Objekt verwenden, um die Datenbank zu löschen :

const {statusCode } = await database.delete();

Der statusCode ist ein HTTP-Antwortcode. Eine erfolgreiche Antwort befindet sich im Bereich von 200-299.

Nächste Schritte

Nachdem Sie nun eine Datenbank erstellt haben, verwenden Sie den nächsten Leitfaden zum Erstellen von Containern.