跳到主要内容

数据操作

这篇主要给 技能编写者、交付同学、Agent 维护者 看。业务人员一般只需要描述“我想查什么、改什么”,真正的数据命令通常由 Agent 在后台执行。


data 命令能做什么

data 是 Lovrabet Runtime CLI 里最常用的一组命令,主要分成两类:

  • :查名单、查明细、查统计
  • :补录、修正、删除

常见命令包括:

  • data filter
  • data getOne
  • data aggregate
  • data create
  • data batchCreate
  • data update
  • data delete

所有 data 命令的共同点

基本都会围绕这两个参数展开:

  • --code:数据集 code,必填
  • --params:JSON 参数,决定筛选条件、分页、写入内容等

也就是说,Agent 通常会先知道或先发现一个数据集 code,然后再带着 --params 真正执行读写动作。


读操作:查名单、查单条、查统计

1. data filter

适合:

  • 查一批记录
  • 做条件筛选
  • 拉明细名单
lovrabet data filter --code <datasetCode> --params '{"where":{"status":{"$eq":"active"}},"currentPage":1,"pageSize":20}'

常见场景:

  • 找近 7 天未发货订单
  • 找近 30 天新增但未首单客户
  • 找某个状态下的全部工单

2. data getOne

适合:

  • id 或单条主键查一条记录
  • 用来核对某条数据当前到底是什么状态
lovrabet data getOne --code <datasetCode> --params '{"id":123}'

3. data aggregate

适合:

  • 按维度做汇总
  • 出运营统计、对账统计、管理看板输入
lovrabet data aggregate --code <datasetCode> --params '{
"aggregate":[{"field":"amount","type":"SUM","alias":"total"}],
"groupBy":["status"]
}'

写操作:补录、修正、删除

1. data create

用于新增一条记录:

lovrabet data create --code <datasetCode> --params '{"name":"test"}'

2. data batchCreate

用于一次创建多条记录:

lovrabet data batchCreate --code <datasetCode> --params '[{"name":"a"},{"name":"b"}]'

3. data update

用于修改已有记录:

lovrabet data update --code <datasetCode> --params '{"id":123,"status":"completed"}'

4. data delete

用于删除记录:

lovrabet data delete --code <datasetCode> --params '{"id":123}' --yes

写操作前,一定记住两件事

第一件:先 --dry-run

写入类命令建议先预览:

lovrabet data update --code <datasetCode> --params '{"id":123,"status":"completed"}' --dry-run

--dry-run 会告诉你这次准备怎么调接口、带什么参数,但不会真的执行。

第二件:确认风险等级

  • create / batchCreate / update 属于 write
  • delete 属于 high-risk-write

如果当前 riskLevel 不够,CLI 会直接拦截。
如果是高危删除,在非交互模式下还必须显式带 --yes


常见筛选写法

data filter 最常见的是 where 条件:

操作符含义
$eq等于
$ne不等于
$gt / $gte大于 / 大于等于
$lt / $lte小于 / 小于等于
$in在某个集合里
$contain包含子串
$startWith / $endWith以...开头 / 结尾
$and / $or组合条件

例如:

lovrabet data filter --code <datasetCode> --params '{
"where":{
"$and":[
{"amount":{"$gte":100}},
{"status":{"$eq":"active"}}
]
}
}'

聚合时最常见的类型

类型含义
SUM求和
COUNT计数
AVG平均值
MAX / MIN最大值 / 最小值

业务侧更应该怎么表达

业务人员与其说:

帮我执行 data aggregate

不如直接说:

帮我按仓库汇总近 7 天未发货订单数量

或者:

帮我把需求 241 的状态改成处理中,先预览再执行

这样 Agent 才能更自然地判断到底该走 filteraggregateupdate,还是先做数据集发现。


一句话总结

data 命令真正承接的是业务动作:

  • 查名单 → filter
  • 查单条 → getOne
  • 查汇总 → aggregate
  • 补录 / 修正 → create / batchCreate / update
  • 删除 → delete

对业务人员来说,重点不是记住这些名字,而是把业务对象、条件、结果和风险边界说清楚。