Créer un élément dans Azure Cosmos DB for NoSQL à l’aide de JavaScript

S’APPLIQUE À : NoSQL

Les éléments dans Azure Cosmos DB représentent une entité spécifique stockée dans un conteneur. Dans l’API pour NoSQL, un élément se compose de données au format JSON avec un identificateur unique.

Élément, définition d’élément et réponse à l’élément

Dans le Kit de développement logiciel (SDK) JavaScript, les trois objets liés à un élément ont des objectifs différents.

Nom Operations
Item Fonctionnalités notamment Lire, Corriger, Remplacer, Supprimer.
ItemDefinition Votre objet de données personnalisé. Inclut automatiquement les propriétés id et ttl.
ItemResponse Inclut statusCode, itemet d’autres propriétés.

Utilisez les propriétés de l’objet ItemResponse pour comprendre le résultat de l’opération.

  • statusCode : code d’état HTTP. Une réponse positive est comprise entre 200 et 299.
  • activityId : identificateur unique de l’opération telle que création, lecture, remplacement ou suppression.
  • etag : balise d’entité associée aux données. Utilisez pour la concurrence optimiste, la mise en cache et les demandes conditionnelles.
  • item : objet Item utilisé pour effectuer des opérations telles que lecture, remplacement, suppression.
  • resource : vos données personnalisées.

Créer un identificateur unique pour un élément

L’identificateur unique est une chaîne distincte qui identifie un élément au sein d’un conteneur. La propriété id est la seule propriété requise lors de la création d’un document JSON. Par exemple, ce document JSON est un élément valide dans Azure Cosmos DB :

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

Dans l’étendue d’un conteneur, deux éléments ne peuvent pas partager le même identificateur unique.

Important

La propriété id respecte la casse. Des propriétés nommées ID, Id, iD et _id seront traitées comme une propriété JSON arbitraire.

Une fois créé, l’URI d’un élément est au format suivant :

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

Lorsque vous référencez l’élément à l’aide d’un URI, utilisez l’identificateur de ressource généré par le système au lieu du champ id. Pour plus d’informations sur les propriétés d’élément générées par le système dans Azure Cosmos DB for NoSQL, consultez Propriétés d’un élément.

Créer un élément

Créez un élément avec l’objet items du conteneur à l’aide de la méthode create.

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

Accéder à un élément

Accédez à un élément via l’objet Item. Cela est accessible à partir de l’objet Container ou modifié à partir des objets Database ou 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();

Accès par objet :

  • Éléments (au pluriel) : créer, regrouper en lots, regarder le flux de modification, tout lire, effectuer un upsert ou interroger des éléments.
  • Élément (singulier) : lire, corriger, remplacer ou supprimer un élément.

Remplacer un élément

Remplacez les données par l’objet Item avec la méthode 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 
    });

Lire un élément

Lisez les données les plus actuelles avec la méthode read de l’objet Item.

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

Supprimer un élément

Supprimez l’élément avec la méthode delete de l’objet Item.

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

Étapes suivantes

Maintenant que vous avez créé différents éléments, utilisez le guide suivant pour lire un élément.