Condividi tramite


Creare un elemento in Azure Cosmos DB for NoSQL con JavaScript

SI APPLICA A: NoSQL

Gli elementi in Azure Cosmos DB rappresentano un'entità specifica archiviata all'interno di un contenitore. Nell'API for NoSQL un elemento è costituito da dati in formato JSON con un identificatore univoco.

Elemento, definizione dell'elemento e risposta dell'elemento

In JavaScript SDK i tre oggetti correlati a un elemento hanno scopi diversi.

Nome Operazioni
Articolo Funzionalità, tra cui Read, Patch, Replace, Delete.
ItemDefinition Oggetto dati personalizzato. Include automaticamente le proprietà id e ttl.
ItemResponse Include statusCode, item e altre proprietà.

Usare le proprietà dell'oggetto ItemResponse per comprendere il risultato dell'operazione.

  • statusCode: codice di stato HTTP. Una risposta con esito positivo rientra nell'intervallo 200-299.
  • activityId: identificatore univoco dell'operazione, ad esempio create, read, replace o delete.
  • etag: tag di entità associato ai dati. Usarlo per la concorrenza ottimistica, la memorizzazione nella cache e le richieste condizionali.
  • item: oggetto Item usato per eseguire operazioni quali read, replace, delete.
  • resource: dati personalizzati.

Creare un identificatore univoco per un elemento

L'identificatore univoco è una stringa distinta che identifica un elemento all'interno di un contenitore. La proprietà id è l'unica proprietà obbligatoria quando si crea un nuovo documento JSON. Questo documento JSON, ad esempio, è un elemento valido in Azure Cosmos DB:

{
  "id": "unique-string-2309509"
}

Nell'ambito di un contenitore due elementi non possono condividere lo stesso identificatore univoco.

Importante

La proprietà id fa distinzione tra maiuscole e minuscole. Le proprietà denominate ID, Id, iD e _id verranno considerate come proprietà JSON arbitrarie.

Dopo la creazione il formato dell'URI per un elemento è il seguente:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>

Per fare riferimento all'elemento con un URI, usare l'identificatore di risorsa generato dal sistema invece del campo id. Per altre informazioni sulle proprietà degli elementi generati dal sistema in Azure Cosmos DB for NoSQL, vedere Proprietà di un elemento

Creare un elemento

Creare un elemento con l'oggetto items del contenitore con il metodo create.

const { statusCode, item, resource, activityId, etag} = await container.items.create({ 
        id: '2', 
        category: 'gear-surf-surfboards',
        name: 'Sunnox Surfboard',
        quantity: 8,
        sale: true 
    });

Accedere a un elemento

Accedere a un elemento tramite l'oggetto Item. È possibile accedervi dall'oggetto Container o modificarlo dagli oggetti Database o CosmosClient.

// Chained, then use a method of the Item object such as `read`
const { statusCode, item, resource, activityId, etag} = await client.database(databaseId).container(containerId).item(itemId).read();

Accesso in base all'oggetto:

  • Items (plurale): creare, eseguire in batch, osservare il feed di modifiche, leggere tutto, eseguire l'upsert o eseguire query sugli elementi.
  • Item (singolare): leggere, applicare patch, sostituire o eliminare un elemento.

Sostituire un elemento

Sostituire i dati associati all'oggetto Item con il metodo replace.

const { statusCode, item, resource, activityId, etag} = await item.replace({ 
        id: '2', 
        category: 'gear-surf-surfboards-retro',
        name: 'Sunnox Surfboard Retro',
        quantity: 5,
        sale: false 
    });

Leggere un elemento

Leggere i dati più aggiornati con il metodo read dell'oggetto Item.

const { statusCode, item, resource, activityId, etag} = await item.read();

Eliminare un elemento

Eliminare l'elemento con il metodo delete dell'oggetto Item.

const { statusCode, item, activityId, etag} = await item.delete();

Passaggi successivi

Dopo aver creato vari elementi, usare la guida successiva per eseguire query per ottenere l'elemento.