文档 / 数据
数据
platform.data 提供当前用户的数据访问能力。应用没有独立业务后端,不需要自己处理登录和 HTTP 请求。
list()
const datasets = await platform.data.list();返回 Promise<Dataset[]>。每个数据集包含 id、name、slug、schema、created_at、updated_at 等元数据。schema.fields 定义业务字段,字段类型包括 string、number、boolean、datetime、json,required: true 表示必填。
绑定了 table_ids 的应用只会列出绑定的数据集;未绑定且获全空间授权时会列出当前用户全部数据集。记录查询、更新和删除也受相同授权范围限制。不要把列表顺序当成固定顺序,也不要随意选择第一个数据集作为业务存储。
get(idOrSlug)
const todos = await platform.data.get("todo");
const rows = await platform.data.query(todos.id);按数据集 ID 或 slug 查找,返回 Promise<Dataset>。不能按显示名称查找;名称和 slug 未必相同。数据集不存在或不在发现范围时会报错。
后续的查询与写入方法使用 todos.id,不要把 slug 直接传给 query 或 insert。
getRecord(datasetId, recordId)
const row = await platform.data.getRecord(todos.id, recordId);
console.log(row.title, row.done);返回一条字段展开后的记录;不存在时抛出错误,不返回 null。
读取结构
query 和 getRecord 将业务数据放在对象顶层:
{
"id": "RECORD_ID",
"table_id": "DATASET_ID",
"title": "取快递",
"done": false,
"created_at": "2026-01-01T09:00:00.000Z",
"updated_at": "2026-01-01T09:00:00.000Z"
}系统字段会覆盖同名的业务字段,不要将 id、table_id、created_at、updated_at 用作业务字段名称。
写入返回值保留 { id, table_id, data, created_at, updated_at } 结构,业务字段在 data 内,与读取接口不同。请参阅写入与删除。
数据模型与边界
应用不能通过 platform.data 创建数据集或修改 schema。请在数据库应用或构建会话中完成数据准备。数据库应用支持新增、重命名、删除字段、调整类型、必填与顺序,详见管理数据表。逻辑数据集不是物理 SQL 表,不开放 SQL、跨数据集 join 或实时订阅。
推荐为需要筛选、排序的字段使用英文字母或下划线开头的标识符,例如 title、amount、created_on。查询字段支持中英文字母、数字和下划线,不能以数字开头。
数据库仍然位于云端,调用可能失败或产生延迟,应用应显示加载和错误状态。数据不依附应用文件包,替换源码不会清除用户记录。
兼容接口
旧应用的 platform.tables 仍是 platform.data 的别名。data.list(datasetId) 仍可作为旧版查询写法使用,但新应用应使用无参数的 list() 发现数据集,使用 query(id, options) 读取记录。