Dela via


Skapa en container i Azure Cosmos DB för NoSQL med JavaScript

GÄLLER FÖR: NoSQL

Containrar i Azure Cosmos DB-lagringsuppsättningar med objekt. Innan du kan skapa, fråga eller hantera objekt måste du först skapa en container.

Namnge en container

I Azure Cosmos DB motsvarar en container en tabell i en relationsdatabas. När du skapar en container utgör containernamnet ett segment av den URI som används för att komma åt containerresursen och eventuella underordnade objekt.

När den har skapats är URI:n för en container i det här formatet:

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

Skapa en container

Hämta ett databasobjekt och skapa sedan en container:

  • createIfNotExists – Skapar en container om den inte finns. Om den finns returnerar du containern.
  • create – Skapar en container. Om den finns returnerar du felstatusKod.
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 });

StatusCode är en HTTP-svarskod. Ett lyckat svar är inom intervallet 200–299.

Få åtkomst till en container

En container nås från containerobjektet antingen direkt eller länkat från CosmosClient- eller Database-objekten.

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();

Åtkomst efter objekt:

  • Containrar (plural): Skapa eller fråga containrar.
  • Container (singular): Ta bort container, arbeta med objekt.

Ta bort en container

När du har hämtat containerobjektet kan du använda containerobjektet för att ta bort containern:

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

StatusCode är en HTTP-svarskod. Ett lyckat svar är inom intervallet 200–299.

Nästa steg

Nu när du har skapat en container använder du nästa guide för att skapa objekt.