Share via


Een database maken in Azure Cosmos DB for NoSQL met behulp van JavaScript

VAN TOEPASSING OP: NoSQL

Databases in Azure Cosmos DB zijn beheereenheden voor een of meer containers. Voordat u containers kunt maken of beheren, moet u eerst een database maken.

Een database een naam opgeven

In Azure Cosmos DB is een database vergelijkbaar met een naamruimte. Wanneer u een database maakt, vormt de databasenaam een segment van de URI die wordt gebruikt voor toegang tot de databaseresource en eventuele onderliggende resources.

Hier volgen enkele snelle regels bij het benoemen van een database:

  • Databasenamen tussen 3 en 63 tekens lang houden
  • Databasenamen mogen alleen kleine letters, cijfers of het streepje (-) bevatten.
  • Databasenamen moeten beginnen met een kleine letter of cijfer.

Nadat de URI voor een database is gemaakt, heeft deze indeling:

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

Een database maken

Nadat u de CosmosClient hebt gemaakt, gebruikt u de client om een database te maken op basis van twee verschillende aanroepen:

  • createIfNotExists : hiermee maakt u een database als deze niet bestaat. Als deze bestaat, retourneert u de database.
  • maken : hiermee maakt u een database. Als deze bestaat, retourneert u de fout statusCode.
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 });

De statusCode is een HTTP-antwoordcode. Een geslaagde reactie bevindt zich in het bereik 200-299.

Toegang tot een database

Een database wordt geopend vanuit het Database-object , rechtstreeks of via een queryresultaat van de 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();

Toegang per object:

  • Databases (meervoud): wordt gebruikt voor het maken van nieuwe databases of het uitvoeren van query's op/het lezen van alle databases.
  • Database (enkelvoud): wordt gebruikt voor het lezen, bijwerken of verwijderen van een bestaande database op id of voor toegang tot containers die tot die database behoren.

Een database verwijderen

Zodra u het databaseobject hebt opgehaald, kunt u het databaseobject gebruiken om de database te verwijderen :

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

De statusCode is een HTTP-antwoordcode. Een geslaagde reactie bevindt zich in het bereik 200-299.

Volgende stappen

Nu u een database hebt gemaakt, gebruikt u de volgende handleiding om containers te maken.