Delen via


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

VAN TOEPASSING OP: NoSQL

In Azure Cosmos DB slaan containers sets van items op. Voordat u items kunt maken, opvragen of beheren, moet u eerst een container maken.

Geef een container een naam

In Azure Cosmos DB is een container vergelijkbaar met een tabel in een relationele database. Wanneer u een container maakt, vormt de containernaam een segment van de URI die wordt gebruikt voor toegang tot de containerresource en eventuele onderliggende items.

Zodra de URI voor een container is gemaakt, heeft deze indeling:

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

Een container maken

Haal een databaseobject op en maak vervolgens een container:

  • createIfNotExists - Hiermee maakt u een container als deze niet bestaat. Als deze bestaat, retourneert u de container.
  • create - Hiermee maakt u een container. Als het bestaat, retourneer de fout statusCode.
const containerName = 'myContainer';

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

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

De statusCode is een HTTP-antwoordcode. Een geslaagd antwoord valt binnen het bereik van 200-299.

Toegang tot een container

Een container wordt geopend vanuit het Container-object rechtstreeks of via de CosmosClient- of Database-objecten.

const databaseName = 'myDb';
const containerName = 'myContainer';

// Chained - assumes database and container already exis
const { container, statusCode } = await client.database(databaseName).container(containerName);

// Direct - assumes database and container already exist
const { database, statusCode } = await client.database(databaseName);
if(statusCode < 400){
    const { container, statusCode } = await database.container(containerName);
}

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

Toegang per object:

  • Containers (meervoud): Containers maken of opvragen.
  • Container (singular): Container verwijderen, werken met items.

Een container verwijderen

Zodra u het containerobject hebt opgehaald, kunt u het containerobject gebruiken om de container te verwijderen :

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

De statusCode is een HTTP-antwoordcode. Een geslaagd antwoord valt binnen het bereik van 200-299.

Volgende stappen

Nu u een container hebt gemaakt, gebruikt u de volgende handleiding om items te maken.