uniCloud JQLSchema知识点总结 一、文件结构与核心文件作用1. 目录位置项目uniCloud/支付宝云-xxx/database/下两类核心文件xxx.schema.json数据表结构定义文件集合 Schema定义数据表字段、类型、必填、默认值、权限、数据校验规则必须右键上传部署到云空间云端数据库才会生效表约束*.jqlJQL 本地查询调试脚本文件截图里JQL查询.jql 专门用来本地调试数据库增删改查语句快捷键F5执行2. jql 脚本文件内置注释说明视频原文用途本地调试 JQL 操作关联服务空间数据库等价于客户端clientDBAPI支持普通 JS 语法 JQL 语句可写多条代码仅最后一条 JQL 语句生效执行权限特点本地运行不受 Schema 权限permission控制项目上线后前端受 Schema 权限限制上线前必须配置好权限规则数据返回限制查询有最大返回条数上限官方文档可查.limit()分页限制官方语法参考地址uniapp.dcloud.net.cn/uniCloud/jql.html二、基础 JQL 语法示例截图演示新增数据运行// 向 demo-user 集合新增一条数据 db.collection(demo-user).add({ // 写入字段数据 })db.collection(表名)指定操作的数据集合数据表.add()新增单条记录配套还有.get()查询、.update()更新、.remove()删除三、Schema集合结构文件操作流程新建 / 编辑demo-user.schema.json定义表结构右键文件 → 上传数据集合 Schema控制台日志提示「上传数据集合 Schema 成功」代表云端表结构更新完成关键不上传 Schema 到云端数据库不会启用字段校验、权限控制上传到云端四、高频报错schema is not defined 解决方案报错原因未创建对应名称的xxx.schema.json文件云端无该集合的结构定义 2 创建了 schema 文件但没有右键上传部署到云服务空间3 JQL 脚本里写的集合名和 schema 文件名不匹配大小写、名称不一致 4 项目 uniCloud 文件夹未正常关联支付宝云服务空间修复步骤1 核对 JQL 中collection(demo-user)的集合名和 schema 文件名demo-user.schema.json完全一致 2 右键 schema 文件执行「上传数据集合 Schema」等待控制台提示上传成功 3 确认 uniCloud 已正常关联支付宝云服务空间无断连 4 重新按 F5 运行 jql 脚本报错消失五、JQL 调试面板功能界面底部按钮只看 data仅展示数据库返回的数据主体隐藏日志、请求信息本地 schema调试时读取本地未上传的 schema 文件做校验仅本地生效使用云 schema调试时读取云端已上传的正式 schema 规则和线上环境一致推荐调试上线前开启六、开发避坑要点本地.jql调试不受权限限制不代表前端页面可以随意读写数据库上线后前端clientDB严格遵循 schema 里permission读写权限配置必须提前配置大批量查询必须搭配.limit()分页否则会触发条数限制拿不全数据 3 修改 schema 后必须重新上传云端数据库才会同步字段校验、权限规则否则修改不生效 4 schema 文件名必须和集合名完全匹配否则云端识别不到表结构直接抛出schema is not defined七、配套开发流程串联1 HBuilderX 关联支付宝云服务空间 → 2 在 database 目录新建 xxx.schema.json 定义数据表 → 3 上传 Schema 到云端 → 4 创建.jql调试脚本写增删改查 → 5 F5 运行调试语句测试数据库逻辑 → 6 把调试通过的 JQL 移植到页面clientDB业务代码补充 Schema 权限配置再上线执行JQL:在JQL查询.jql文件中输入要执行的jql语句按F5执行控制台会打印执行结果。执行成功后在uniCloud控制台就会看到该条数据