常见用例
组装查询
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模糊搜索待做事项列表
关联查询
同一数据源的关联查询有两种情况:
有外键:建立表之间的外键关联
无外键: Prisma 数据源
其用法相同,如下:
关联更新
在更新某个对象数据的同时,关联更新其关联对象的数据,仅适用于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为必填项,请求接口时必填。
最后更新于
这有帮助吗?