Udostępnij za pośrednictwem


Tworzenie elementu w usłudze Azure Cosmos DB for NoSQL przy użyciu języka JavaScript

DOTYCZY: NoSQL

Elementy w usłudze Azure Cosmos DB reprezentują określoną jednostkę przechowywaną w kontenerze. W interfejsie API for NoSQL element składa się z danych w formacie JSON z unikatowym identyfikatorem.

Odpowiedź elementu, definicji elementu i elementu

W zestawie SDK języka JavaScript trzy obiekty powiązane z elementem mają różne cele.

Nazwisko Operacje
Produkt Funkcje, w tym odczyt, poprawka, zastępowanie, usuwanie.
ElementDefinition Niestandardowy obiekt danych. Zawiera id właściwości i ttl automatycznie.
ItemResponse Obejmuje statusCodewłaściwości , itemi .

Użyj właściwości obiektu ItemResponse , aby zrozumieć wynik operacji.

  • statusCode: kod stanu HTTP. Pomyślna odpowiedź znajduje się w zakresie od 200 do 299.
  • activityId: unikatowy identyfikator operacji, taki jak tworzenie, odczyt, zastępowanie lub usuwanie.
  • etag: tag jednostki skojarzony z danymi. Służy do optymistycznej współbieżności, buforowania i żądań warunkowych.
  • item: Obiekt elementu używany do wykonywania operacji, takich jak odczyt, zastępowanie, usuwanie.
  • resource: Twoje dane niestandardowe.

Tworzenie unikatowego identyfikatora elementu

Unikatowy identyfikator jest odrębnym ciągiem, który identyfikuje element w kontenerze. Właściwość id jest jedyną wymaganą właściwością podczas tworzenia nowego dokumentu JSON. Na przykład ten dokument JSON jest prawidłowym elementem w usłudze Azure Cosmos DB:

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

W zakresie kontenera dwa elementy nie mogą współdzielić tego samego unikatowego identyfikatora.

Ważne

Właściwość id uwzględnia wielkość liter. Właściwości o nazwie ID, Id, iDi _id będą traktowane jako dowolna właściwość JSON.

Po utworzeniu identyfikator URI elementu ma następujący format:

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

Podczas odwoływania się do elementu przy użyciu identyfikatora URI użyj identyfikatora zasobu wygenerowanego przez system zamiast id pola. Aby uzyskać więcej informacji na temat właściwości elementu generowanego przez system w usłudze Azure Cosmos DB for NoSQL, zobacz właściwości elementu

Tworzenie elementu

Utwórz element z obiektem elementów kontenera przy użyciu metody create.

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

Uzyskiwanie dostępu do elementu

Uzyskiwanie dostępu do elementu za pośrednictwem obiektu Item . Można uzyskać do tego dostęp z obiektu Kontener lub zmienić go z obiektów Database lub 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();

Dostęp według obiektu:

  • Elementy (mnoga): utwórz, batch, obejrzyj zestawienie zmian, odczytaj wszystkie, upsert lub elementy zapytania.
  • Element (pojedyncza): odczyt, poprawka, zastąpienie lub usunięcie elementu.

Zastępowanie elementu

Zastąp dane obiektem Item metodą 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 
    });

Odczytywanie elementu

Odczytywanie najnowszych danych za pomocą metody read obiektu Item.

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

Usuwanie elementu

Usuń element za pomocą metody delete obiektu Item.

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

Następne kroki

Po utworzeniu różnych elementów użyj następnego przewodnika, aby wykonać zapytanie o element.