常见用例

组装查询

QUERY

在一个接口中,同时拿到多个数据源的数据。

query MyQuery{
  # mysql 数据源
  mysql_findFirstPost {
    createdAt
    id
  }
  # pgsql 数据源
  pgsql_findFirstTodo {
    completed
    content
    createdAt
  }
  # rest 数据源
  system_getAllRoles {
    code
    remark
  }
}

MUTATION

在一个接口中,同时变更多个数据源的数据。

事务

@transaction指令修饰mutation OPERATION,保证原子性

分页

分页查询,支持排序和查询条件(例如模糊搜索)。具体用法参考:使用API

模糊搜索

模糊搜索,对应sql like 匹配,例如:根据$title模糊搜索待做事项列表

关联查询

同一数据源的关联查询有两种情况:

其用法相同,如下:

关联更新

在更新某个对象数据的同时,关联更新其关联对象的数据,仅适用于1:1关联。

可为空字段

对于可为空字段,支持用null来查询或更新。

null查询

将null作为查询条件,例如:

1,获取所有des=null的数据

2,获取所有des is not null的数据

null更新

设置某字段的值为null,例如:设置id为10的记录,des=null

跨源关联

通过 @export 和 _join 可以进行跨数据源的关联查询。详情见 跨源关联

原生sql

数据库内省的“函数”基于prisma构建,有些场景无法支持,如数据统计类需求。因此,支持raw sql,以实现任意复杂度的需求。

queryRaw

执行查询SQL,返回值是对象数组

executeRaw

执行变更SQL,返回值是包含count字段的对象

变量默认值

默认值

设置$skip的默认值为0,请求接口时可忽略。

必填项

设置$skip为必填项,请求接口时必填。

最后更新于

这有帮助吗?