Freigeben über


Erstellen einer Datenbank in Azure Cosmos DB for NoSQL mit JavaScript

GILT FÜR: NoSQL

Datenbanken in Azure Cosmos DB sind Einheiten der Verwaltung 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 ist eine Datenbank analog zu 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 weist der URI für eine Datenbank das folgende Format auf:

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, wird die Datenbank zurückgegeben.
  • create: Erstellt eine Datenbank. Falls eine vorhanden ist, wird der Fehlerstatuscode (statusCode) 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 liegt im Bereich von 200 bis 299.

Zugreifen auf eine Datenbank

Der Zugriff auf eine Datenbank erfolgt direkt über das Database-Objekt oder über ein Abfrageergebnis vom CosmosClient.

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 über das Objekt:

  • Databases (Plural): Wird zum Erstellen neuer Datenbanken oder zum Abfragen/Lesen aller Datenbanken verwendet.
  • Database (Singular): Wird zum Lesen, Aktualisieren oder Löschen einer vorhandenen Datenbank mittels ID oder zum Zugreifen 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 liegt im Bereich von 200 bis 299.

Nächste Schritte

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