> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumi.new/llms.txt
> Use this file to discover all available pages before exploring further.

# 資料庫

> 管理您網站的資料。

在 Lumi 中，**資料**是結構化資訊，為您的應用程式提供動態功能，包括使用者、內容、訂單等。這些資訊被組織在**資料表**中，其功能類似於資料庫或試算表。每個資料表由**欄位**（欄）組成，每個欄位都儲存特定類型的資訊。

## 使用資料

### 如何將資料庫新增至您的專案。

一般來說，當需要資料庫時，Lumi 會自動分析您的需求並新增此功能。您也可以在提示中強調這一點，例如「建立一個帶有資料庫的訂單管理系統，用來儲存訂單資料」。

### 手動新增一筆記錄

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/4.gif?s=75cbccfd591bb323b1fbd898803601df" alt="4 Gi" width="1276" height="720" data-path="images/4.gif" />

<Steps>
  <Step title="導覽至您的資料表">
    前往「工作區 → 資料」，然後選取您要新增資料的資料表。
  </Step>

  <Step title="新增一筆新記錄">
    點擊「新增」按鈕並填寫新記錄的欄位。
  </Step>
</Steps>

<Tip>
  **提示：** 為了獲得更友善的使用者體驗，您可以要求聊天機器人在您的應用程式中建立一個表單，讓您可以動態新增項目。
</Tip>

### 手動編輯一筆記錄

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/5.gif?s=5b00a080da6a7e5c3a232793e125aa4b" alt="5 Gi" width="1276" height="720" data-path="images/5.gif" />

<Steps>
  <Step title="導覽至您的資料表">
    前往「工作區 → 資料」，然後選取包含您要編輯之記錄的資料表。
  </Step>

  <Step title="編輯記錄">
    點擊您想編輯的記錄旁的 ✒️ 畫筆圖示，然後進行變更。
  </Step>
</Steps>

### 刪除與批次操作

* 刪除單筆記錄

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/6.gif?s=62b77edc88b3b420fc6287c79d218ede" alt="6 Gi" width="1276" height="720" data-path="images/6.gif" />

<Steps>
  <Step title="導覽至您的資料表">
    前往「工作區 → 資料」，然後選取包含您要刪除之記錄的資料表。
  </Step>

  <Step title="刪除記錄">
    點擊您想刪除的記錄旁的 🗑 垃圾桶圖示。
  </Step>
</Steps>

* 進行批次刪除

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/7.gif?s=0070d8d21b1fb977381a83c8c44b0486" alt="7 Gi" width="1276" height="720" data-path="images/7.gif" />

<Steps>
  <Step title="導覽至您的資料表">
    前往「工作區 → 資料」，然後選取您要從中刪除記錄的資料表。
  </Step>

  <Step title="選取並刪除記錄">
    勾選您要移除的記錄的核取方塊，然後點擊選取計數旁出現的「刪除」按鈕。
  </Step>
</Steps>

<Warning>
  **警告：** 請注意，刪除操作是不可逆的
</Warning>

## 支援的欄位類型

1. 基本資料類型

* **字串 (String)**：用於儲存文字資料的 UTF-8 編碼字串。
* **整數 (Integer)**：包含 32 位元和 64 位元整數，用於儲存整數值。
* **雙精度浮點數 (Double)**：64 位元浮點數，用於儲存小數或大數。
* **布林值 (Boolean)**：儲存邏輯值 true 或 false。
* **空值 (Null)**：表示空值或不存在的欄位。

2. 複雜資料類型

* **陣列 (Array)**：一個有序的元素集合，可以包含不同類型的資料。
* **物件 (Object) (嵌入式文件)**：一個支援巢狀結構的鍵值對集合。
* **日期 (Date)**：以 UTC 毫秒表示的日期和時間。

3. 特殊資料類型

* **物件 ID (ObjectId)**：一個 12 位元組的唯一識別碼，預設用於文件的 \_id 欄位。
* **二進位資料 (Binary Data)**：儲存二進位資料（例如圖片、檔案）。
* **正規表示式 (Regular Expression)**：儲存用於文字匹配的正規表示式。
* **JavaScript**：支援儲存和執行 JavaScript 程式碼。

4. 擴充資料類型

* **時間戳記 (Timestamp)**：一個 64 位元的時間戳記，前 32 位元是秒，後 32 位元是奈秒，用於記錄操作時間。
* **128 位元十進位數 (Decimal128)**：一個 128 位元的高精度十進位數，適用於金融計算。
* **GeoJSON**：儲存地理空間資料。

## 安全性與資料表權限

每個資料表都包含自己的安全設定來控制資料存取：

* **讀取權限：** 定義誰可以檢視資料表中的記錄。
* **寫入/刪除權限：** 決定誰可以建立、更新或刪除記錄。

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/image(44).png?fit=max&auto=format&n=ynWgEA-zeP9dMZPg&q=85&s=ab5d3abaf0caa231d6382f8660faf92e" alt="Image(44) Pn" width="2082" height="1236" data-path="images/image(44).png" />
