> ## 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 (Embedded Document)**：支持嵌套结构的键值对集合。
* **Date**：存储以 UTC 毫秒表示的日期和时间。

3. 特殊数据类型

* **ObjectId**：一个 12 字节的唯一标识符，默认用于文档的 \_id 字段。
* **Binary Data**：存储二进制数据（如图像、文件）。
* **Regular Expression**：存储用于文本匹配的正则表达式。
* **JavaScript**：支持存储和执行 JavaScript 代码。

4. 扩展数据类型

* **Timestamp**：一个 64 位的时间戳，前 32 位是秒，后 32 位是纳秒，用于记录操作时间。
* **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" />
