-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
背景
当前项目的前后端 API 查询语法文档存在和 objectstack-ai/spec 正典(canonical)协议不一致的情况:
- 协议层 Zod Schema(
filter.zod.ts、query.zod.ts)已规范(where + $op + orderBy ...)。 - 但文档如
query-syntax.mdx、data-engine.mdx存在 filters/tuple/三元组/sort/group_by/aggregate 等用法偏差。
问题
- 前后端查询语法未统一,影响开发者体验、协议一致性和长期可维护性。
- 文档示例容易造成迷惑,降低开发效率。
解决方案
- 重写
content/docs/protocol/objectql/query-syntax.mdx,所有示例、接口定义、字段名、语法对齐@objectstack/spec下的QuerySchema及相关正典 Zod 类型。- 必须全部采用
where+ MongoDB-style$op语法(对象语法),淘汰 filters/tuple/三元组等老格式。 - 排序
orderBy,分组groupBy,聚合aggregations等字段全部统一,示例代码严格遵循最新 Spec。 - 旧内容移至专门的 legacy/compat 说明节。
- 必须全部采用
- 重写
content/docs/guides/contracts/data-engine.mdx,匹配真实 IDataEngine 合同签名与协议语法。- 查询相关统一为
find/findOne/count/aggregate,所有 option 字段与正典命名一致(如 where, orderBy, offset, fields, aggregations...)。
- 查询相关统一为
- 在文档中明确声明:"tuple/filters/三元组"仅为部分 UI 层 builder 的输入格式,进入协议必须转换为 Spec 正典格式。
参考资料
packages/spec/src/data/query.zod.tspackages/spec/src/data/filter.zod.tspackages/spec/src/data/data-engine.zod.tspackages/spec/src/contracts/data-engine.ts
是否需要我来直接提交 PR?
优先级:高
目标:长期维护、全栈开发一致性、对外开放 API 一致性
标签:documentation, query syntax, spec
完成后:务必回归测试并更新 CHANGELOG.md
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation