Partager via


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

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 d'é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
élément Fonctionnalité incluant lecture, mise à jour, remplacement, suppression.
ItemDefinition Votre objet de données personnalisé. Les propriétés id et ttl sont incluses automatiquement.
ItemResponse Inclut statusCode, item et 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 réussie se trouve dans la plage 200-299.
  • activityId : identificateur unique pour l’opération telle que créer, lire, remplacer ou supprimer.
  • etag : balise d’entité associée aux données. Utiliser pour l’accès concurrentiel optimiste, la mise en cache et les demandes conditionnelles.
  • élément : objet Élément utilisé pour effectuer des opérations telles que lecture, remplacement, suppression.
  • ressource : 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 dans un conteneur. La id propriété 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 est sensible à la casse. Les propriétés nommées ID, , IdiDet _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 id champ. Pour plus d’informations sur les propriétés d’élément générées par le système dans Azure Cosmos DB pour NoSQL, consultez les propriétés d’un élément

Créer un élément

Créez un élément avec l’objet Éléments 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 . Cette opération est accessible à partir de l’objet Conteneur ou modifiée à 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 (pluriel) : Créez, traitez par lots, surveillez le flux de modifications, lisez tout, insérez ou mettez à jour, ou interrogez les éléments.
  • Élément (singulier) : Lecture, correctif, remplacement ou suppression d’un élément.

Remplacer un élément

Remplacez les données par l’objet Item par 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 de lecture 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 rechercher l’élément.