SuperAPI AI 工具集

convex-mutations

编程与开发

查看项目

更新于 10-15 23:56

技能介绍

用途:该技能用于实现 Convex mutation 函数(写入或修改数据库数据)时提供指导,涵盖函数定义、注册、调用与调度模式。适用情形包括定义新 mutation、执行数据库操作、从其他 Convex 函数调用 mutation、用 ctx.scheduler.runAfter 调度未来任务、处理事务操作,以及与 action 配合做后台处理。

主要能力:参考文档 references/mutation-guidelines.md 覆盖核心开发(新函数语法定义、mutation 与 internalMutation 注册、参数 validator、ctx.runQuery 与 ctx.runMutation 调用、api 与 internal 引用、基于文件的路由)与数据库操作(ctx.db.insert 新建、ctx.db.patch 浅合并更新、ctx.db.replace 完整替换、缺失文档错误处理、事务语义)。高级特性包括用 ctx.scheduler.runAfter 排队后台任务、注意鉴权状态不会传播到调度任务(需特权时应改用 internal 函数)、避免紧凑循环并遵守 10 秒最小间隔、mutation 事务性、通过事务边界防止竞态。还涉及函数组合,如在 mutation 中调用 query 做校验、mutation 调 mutation,以及同文件调用时使用返回类型注解绕开 TypeScript 循环问题。

使用方式:先阅读 references/mutation-guidelines.md,按示例为 mutation 定义参数 validator,按需选择 insert、patch、replace,用 ctx.scheduler.runAfter 调度后台工作,特权操作使用 internal 函数,并利用事务保证多操作一致性。

限制与约束:mutation 最多执行 1 秒,最多写入 8192 个文档;无显式返回值时隐式返回 null;调度任务鉴权状态为 null;调度间隔至少 10 秒。以上为资料中明确给出的规则,其余平台、收费或效果信息暂未提供。