다음을 통해 공유


JavaScript를 사용하여 Azure Cosmos DB for NoSQL에서 항목 만들기

적용 대상: NoSQL

Azure Cosmos DB의 항목은 컨테이너 내에 저장된 특정 엔터티를 나타냅니다. API for NoSQL에서 항목은 고유 식별자가 있는 JSON 형식 데이터로 구성됩니다.

항목, 항목 정의 및 항목 응답

JavaScript SDK에서 항목과 관련된 세 개체의 용도는 다릅니다.

이름 작업
항목 읽기, 패치, 바꾸기, 삭제 등의 기능.
ItemDefinition 사용자 지정 데이터 개체. idttl 속성을 자동으로 포함합니다.
ItemResponse statusCode, item 및 기타 속성을 포함합니다.

작업 결과를 이해하려면 ItemResponse 개체의 속성을 사용합니다.

  • statusCode: HTTP 상태 코드. 성공적인 응답은 200-299 범위에 있습니다.
  • activityId: 만들기, 읽기, 바꾸기 또는 삭제와 같은 작업에 대한 고유 식별자입니다.
  • etag: 데이터와 연결된 엔터티 태그입니다. 낙관적 동시성, 캐싱 및 조건부 요청에 사용합니다.
  • item: 읽기, 바꾸기, 삭제와 같은 작업 수행에 사용되는 Item 개체.
  • resource: 사용자 지정 데이터입니다.

항목에 대한 고유 식별자 만들기

고유 식별자는 컨테이너 내의 항목을 식별하는 고유 문자열입니다. id 속성은 새 JSON 문서를 만들 때 유일한 필수 속성입니다. 예를 들어 이 JSON 문서는 Azure Cosmos DB의 유효한 항목입니다.

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

컨테이너 범위 내에서 두 항목은 동일한 고유 식별자를 공유할 수 없습니다.

Important

id 속성은 대/소문자를 구분합니다. ID, Id, iD_id라는 임의의 JSON 속성으로 처리됩니다.

만들어지면 항목에 대한 URI는 다음과 같은 형식입니다.

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

URI를 사용하여 항목을 참조할 때 id 필드 대신 시스템 생성 리소스 식별자를 사용합니다. Azure Cosmos DB for NoSQL의 시스템 생성 항목 속성에 대한 자세한 내용은 항목의 속성을 참조하세요.

항목 만들기

create 메서드를 사용하여 컨테이너의 items 개체를 포함하는 항목을 만듭니다.

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

항목 액세스

Item 개체를 통해 항목에 액세스합니다. Container 개체에서 액세스하거나 Database 또는 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();

개체별 액세스:

  • Items(복수): 항목의 만들기, 일괄 처리, 변경 피드 보기, 모두 읽기, upsert 또는 쿼리.
  • Item(단수): 항목을 읽거나 패치하거나 바꾸거나 삭제합니다.

항목 바꾸기

replace 메서드를 사용하여 데이터를 Item 개체로 바꿉니다.

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

항목 읽기

Item 개체의 read 메서드를 사용하여 최신 데이터를 읽습니다.

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

항목 삭제

Item 개체의 delete 메서드를 사용하여 항목을 삭제합니다.

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

다음 단계

이제 다양한 항목을 만들었으므로 다음 가이드를 사용하여 항목을 쿼리합니다.