Azure Cosmos DB 中的項目代表儲存在容器中的特定實體。 在 NoSQL API 中,項目是由具有唯一識別碼的 JSON 格式資料所組成。
項目、項目定義與項目回應
在 JavaScript SDK 中,與一個項目相關的三個物件有不同的用途。
| 名稱 | Operations |
|---|---|
| 項目 | 功能包括 讀取、 修補、 替換、 刪除。 |
| 項目定義 | 你的自訂資料物件。 包含 id 與 ttl 屬性自動生效。 |
| 項目回應 | 包含 statusCode、 item及其他性質。 |
利用 ItemResponse 物件的屬性來理解操作的結果。
- statusCode:HTTP 狀態碼。 成功反應的比例約為200-299。
- activityId:用於建立、讀取、替換或刪除等操作的唯一識別碼。
- etag:與資料相關的實體標籤。 用於樂觀並行、快取及條件請求。
- item:用於執行讀取、替換、刪除等操作的 項目 物件。
- 資源:你的自訂資料。
建立項目的唯一識別碼
唯一識別碼是一個獨特的字串,用來識別容器內的物品。 建立新 JSON 文件時,該 id 屬性是唯一必要的屬性。 例如,這份 JSON 文件在 Azure Cosmos 資料庫中是有效項目:
{
"id": "unique-string-2309509"
}
在容器的範圍內,兩個項目不能共享相同的唯一識別碼。
這很重要
該 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 物件存取物品。 這可以從 容器 物件存取,或從 資料庫 或 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();
依物件存取:
替換物品
const { statusCode, item, resource, activityId, etag} = await item.replace({
id: '2',
category: 'gear-surf-surfboards-retro',
name: 'Sunnox Surfboard Retro',
quantity: 5,
sale: false
});
讀取項目
const { statusCode, item, resource, activityId, etag} = await item.read();
刪除項目
const { statusCode, item, activityId, etag} = await item.delete();
後續步驟
現在你已經建立了各種物品,請使用下一個指南來查詢物品。