SuperAPI AI 工具集

db-query

智能体与模型

查看项目

更新于 10-15 20:33

技能介绍

用途:$db 是 Datex Studio 函数层的运行时句柄,用于读写云端持久化的 Mongo 存储组件。谓词使用流式操作符 DSL,会被编译为服务端查询,而非原生 JavaScript 求值;原生操作符虽能通过编译,却会在运行时静默出错。本技能为只读咨询,只负责 $db 机制(谓词 DSL、操作符、模式变更审计)及基于 $db 的流数据源子变体,不自行编写函数、数据源或存储组件。

主要能力:读取列表用 .where(...).sort(...).take(n).toList();按 id 读单行用 .where(r => r.id.equals(guid)).toList();插入用 .add(record) / .addMany(records);按 id 打补丁用 .update(id, patch),批量用 .updateMany(predicate, patch);原子占用用 .findOneAndModify(...);删除用 .remove(id) / .removeMany(predicate);计数用 .count()。.where(...) 返回游标,需以 .toList() 或 .count() 等终结调用才会执行。

使用方式:访问路径为 $db.<Package>.<storage_referenceName>,存储名与 *-storage.json 文件名主干一致。仅限函数层(configurationTypeId: 9)或流式数据源中的流槽位;动作与 UI 不可用。谓词必须用 .equals / .in / .isNull / .and / .or,不可用 === / && / ||;.update 第一个参数直接传 id 字符串;字段 id 须与 objectTypeDef[].id 完全一致。

限制:含 required: true 列的存储打补丁时须先读后补,回显必填字段;结果行所有字段均为 T | undefined,严格类型标注会失败;游标为一次性,需用 getQuery() 工厂;模式变更前应调用 impact-analysis 审计调用点。本技能不推送任何配置,往返由父级创建技能负责。