pocketbase如何定义一个集合

在 PocketBase 中,集合类似于传统数据库中的表,用于存储特定类型的数据。你可以通过 PocketBase 的管理界面或者使用 SDK 来定义集合。

通过管理界面创建集合

  1. 登录到 PocketBase 管理界面: 打开你的 PocketBase 实例,并使用管理员账号登录。
  2. 导航到 "Collections": 在左侧的导航栏中,找到并点击 "Collections" (集合) 选项。
  3. 创建新集合: 点击 "Add new collection" (添加新集合) 按钮。
  4. 配置集合:
  • 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 (选项): 根据类型不同,会有一些类型专属的选项,例如:是否必填,是否唯一,验证规则等等。
  1. 保存: 配置完成后,点击 "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)
posted @   卓能文  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2024-01-17 github git push 失效问题
点击右上角即可分享
微信分享提示