pocketbase如何定义一个集合
在 PocketBase 中,集合类似于传统数据库中的表,用于存储特定类型的数据。你可以通过 PocketBase 的管理界面或者使用 SDK 来定义集合。
通过管理界面创建集合
- 登录到 PocketBase 管理界面: 打开你的 PocketBase 实例,并使用管理员账号登录。
- 导航到 "Collections": 在左侧的导航栏中,找到并点击 "Collections" (集合) 选项。
- 创建新集合: 点击 "Add new collection" (添加新集合) 按钮。
- 配置集合:
- Name (名称): 输入你的集合的名称,例如 "users" (用户) 或者 "products" (产品)。集合名称会成为你的 API 端点的一部分(例如,/api/collections/users)。
- Type (类型): 选择集合的类型:
- Base: 一般的集合类型,用于存储自定义数据。
- Auth: 特殊的集合类型,用于存储用户身份信息,例如用户名、密码等。
- Schema (模式): 这是一个字段列表,定义了集合中每个记录所拥有的字段(类似表格中的列)。点击 "Add field" (添加字段) 来添加新的字段。
- Name (名称): 字段的名称,例如 "email", "username", 或者 "price"。
- Type (类型): 字段的数据类型,例如 "text" (文本), "number" (数字), "email" (电子邮件), "date" (日期), "bool" (布尔值), "json" (JSON), "file" (文件) 等。
- Default value (默认值): 字段的默认值,如果创建记录时没有指定该字段的值,则使用此默认值。
- Options (选项): 根据类型不同,会有一些类型专属的选项,例如:是否必填,是否唯一,验证规则等等。
- 保存: 配置完成后,点击 "Save" (保存) 按钮。
字段类型:
- text: 用于存储文本数据,例如用户名、描述等。
- number: 用于存储数字数据,例如价格、数量等。
- bool: 用于存储布尔值 (true/false)。
- email: 用于存储电子邮件地址,会自动验证格式。
- url: 用于存储 URL 地址,会自动验证格式。
- date: 用于存储日期时间数据。
- select: 用于存储只能从预设选项中选择的值。
- relation: 用于建立不同集合之间的关系,例如用户和文章之间的关系。
- file: 用于存储文件,例如图片、文档等。
- json: 用于存储 JSON 数据。
通过 SDK (以 JavaScript 为例) 创建集合
import PocketBase from 'pocketbase';
const pb = new PocketBase('http://127.0.0.1:8090'); // 替换为你的 PocketBase 实例地址
async function createCollection() {
try {
const collectionData = {
name: 'products', // 集合名称
type: 'base',
schema: [
{ name: 'name', type: 'text' },
{ name: 'description', type: 'text' },
{ name: 'price', type: 'number' },
{ name: 'image', type: 'file' }
],
};
const collection = await pb.collections.create(collectionData);
console.log('Collection created:', collection);
} catch (error) {
console.error('Error creating collection:', error);
}
}
createCollection();
代码解释
- 引入 PocketBase SDK: import PocketBase from 'pocketbase';
- 初始化 PocketBase 客户端: const pb = new PocketBase('http://127.0.0.1:8090'); 使用你的 PocketBase 实例地址替换 http://127.0.0.1:8090。
- 定义集合数据: collectionData 对象包含集合的名称、类型和模式。
- 使用 pb.collections.create() 创建集合: 调用 pb.collections.create() 方法,并传入 collectionData 对象来创建集合。
总结
无论是通过管理界面还是 SDK,你都需要指定以下信息来定义一个集合:
- 集合名称 (name)
- 集合类型 (type)
- 模式 (schema),包含字段名称 (name),字段类型 (type) 和其他选项 (options)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2024-01-17 github git push 失效问题