# SDK 类型声明
# 接口
# DataModelMethods<T>
模型操作方法接口定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 属性
# create()
create: (
params
) =>Promise
<MethodResponse
<CreateResponse
<T
>>>
创建单条数据的方法。
# Example
models.<model_name>.create({
data: {
// 模型字段数据
}
}).then(({ data }) => {
console.log(data.id); // 输出创建的数据ID
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含创建数据的参数对象。 |
params.data | T | - |
# 返回
Promise
<MethodResponse
<CreateResponse
<T
>>>
# createMany()
createMany: (
params
) =>Promise
<MethodResponse
<CreateManyResponse
<T
>>>
创建多条数据的方法。
# Example
models.<model_name>.createMany({
data: [
// 模型字段数据数组
]
}).then(({ data }) => {
console.log(data.idList); // 输出创建的数据ID列表
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含创建数据数组的参数对象。 |
params.data | T [] | - |
# 返回
Promise
<MethodResponse
<CreateManyResponse
<T
>>>
# delete()
delete: (
params
) =>Promise
<MethodResponse
<DeleteResponse
<T
>>>
删除单条数据的方法。
# Example
models.<model_name>.delete({
filter: {
where: {
// 筛选条件,例如根据ID删除特定记录
_id: {
$eq: "特定ID值"
}
}
}
}).then(({ data }) => {
console.log(data.count); // 输出删除的数据条数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含筛选条件的参数对象。 |
params.filter | FilterParams <T > | - |
# 返回
Promise
<MethodResponse
<DeleteResponse
<T
>>>
# deleteMany()
deleteMany: (
params
) =>Promise
<MethodResponse
<DeleteManyResponse
<T
>>>
删除多条数据的方法。
# Example
models.<model_name>.deleteMany({
filter: {
where: {
// 筛选条件,例如删除所有满足特定条件的记录
}
}
}).then(({ data }) => {
console.log(data.count); // 输出删除的数据条数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含筛选条件的参数对象。 |
params.filter | FilterParams <T > | - |
# 返回
Promise
<MethodResponse
<DeleteManyResponse
<T
>>>
# get()
get: (
params
) =>Promise
<MethodResponse
<T
>>
获取单条数据的方法。
# Example
models.<model_name>.get({
filter: {
where: {
// 筛选条件
}
},
select: {
$master: true // 选择主表所有字段
}
}).then(({ data }) => {
console.log(data); // 输出查询到的数据
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含筛选条件和选择字段的参数对象。 |
params.filter | FilterParams <T > | - |
params.select ? | SelectParams <T > | - |
# 返回
Promise
<MethodResponse
<T
>>
# list()
list: (
params
) =>Promise
<MethodResponse
<object
>>
获取多条数据的方法。
# Example
models.<model_name>.list({
filter: {
where: {
// 筛选条件
}
},
select: {
$master: true // 选择主表所有字段
},
getCount: true, // 开启用来获取总数
pageSize: 10, // 分页大小
pageNumber: 1, // 当前页码
orderBy: [{ createdAt: 'desc' }] // 排序参数
}).then(({ data }) => {
console.log(data.records, data.total); // 输出查询到的数据列表和总数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含筛选条件、选择字段、分页和排序选项的参数对象。 |
params.filter ? | FilterParams <T > | 过滤条件 |
params.getCount ? | boolean | 是否获取 filter 命中条件的查询条数 |
params.orderBy ? | OrderByParams [] | 排序参数,当前仅支持最多 3 字段排序 |
params.pageNumber ? | number | 分页数目 |
params.pageSize ? | number | 分页大小,建议指定,如需设置为其它值,需要和 pageNo 配合使用,两者同时指定才会生效 |
params.select ? | SelectParams <T > | 可以指定返回本表或者关联表的字段,如果想查询本表所有字段,请使用 { $master: true } |
# 返回
Promise
<MethodResponse
<object
>>
# update()
update: (
params
) =>Promise
<MethodResponse
<UpdateResponse
<T
>>>
更新单条数据的方法。
# Example
models.<model_name>.update({
data: {
// 更新的数据字段
},
filter: {
where: {
// 筛选条件
}
}
}).then(({ data }) => {
console.log(data.count); // 输出更新的数据条数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含更新数据和筛选条件的参数对象。 |
params.data | T | - |
params.filter | FilterParams <T > | - |
# 返回
Promise
<MethodResponse
<UpdateResponse
<T
>>>
# updateMany()
updateMany: (
params
) =>Promise
<MethodResponse
<CreateManyResponse
<T
>>>
更新多条数据的方法。
# Example
models.<model_name>.updateMany({
data: {
// 更新的数据字段
},
filter: {
where: {
// 筛选条件
}
}
}).then(({ data }) => {
console.log(data.count); // 输出更新的数据条数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含更新数据和筛选条件的参数对象。 |
params.data | T | - |
params.filter | FilterParams <T > | - |
# 返回
Promise
<MethodResponse
<CreateManyResponse
<T
>>>
# upsert()
upsert: (
params
) =>Promise
<MethodResponse
<UpsertResponse
<T
>>>
创建或者更新的方法
# Example
models.<model_name>.upsert({
update: {
// 更新的数据字段
},
create: {
// 创建的数据字段
},
filter: {
where: {
// 筛选条件
}
}
}).then(({ data }) => {
console.log(data.count); // 输出更新的数据条数
});
# 参数
参数 | 类型 | 描述 |
---|---|---|
params | object | 包含创建或者更新对象以及和筛选条件的参数对象。 |
params.create | T | - |
params.filter | FilterParams <T > | - |
params.update | T | - |
# 返回
Promise
<MethodResponse
<UpsertResponse
<T
>>>
# Model
基础 Model 类型定义
# 属性
# _id?
optional
_id:string
# _openid?
optional
_openid:string
# createBy?
optional
createBy:string
# createdAt?
optional
createdAt:number
# owner?
optional
owner:string
# updateBy?
optional
updateBy:string
# updatedAt?
optional
updatedAt:number
# 类型别名
# BasicComparisonOperator
BasicComparisonOperator:
"$eq"
|"$neq"
|"$gt"
|"$gte"
|"$lt"
|"$lte"
|"$in"
|"$nin"
基础比较运算符类型定义。
# ComparisonOperator
ComparisonOperator:
BasicComparisonOperator
|SpecialComparisonOperator
比较运算符类型定义,包括基础和特殊运算符。
# Example
$eq: 等于;
# CreateManyResponse<T>
CreateManyResponse<
T
>:object
创建多条记录的响应类型定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# idList
idList:
string
[]
创建的记录的 ID 列表。
# CreateResponse<T>
CreateResponse<
T
>:object
数据创建方法的返回类型定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# id
id:
string
# DeleteManyResponse<T>
DeleteManyResponse<
T
>:UpdateResponse
<T
>
删除多条记录的响应类型定义,与更新操作的响应类型相同。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# DeleteResponse<T>
DeleteResponse<
T
>:object
删除操作的响应类型定义,用于表示删除操作影响的记录数量。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# count
count:
number
删除操作影响的记录数量。 如果 count 为 0,表示没有记录被删除; 如果 count 大于 0,表示有相应数量的记录被成功删除。
# FilterCondition
FilterCondition:
{ [key in ComparisonOperator]?: any }
复杂查询条件类型定义
# Example
{
* "$eq": "val"
* }
# FilterConditionItem<T>
FilterConditionItem<
T
>:{ [key in keyof T]?: FilterCondition }
过滤参数类型定义。
此类型定义允许对模型字段进行条件过滤,支持复杂的查询操作。
# Examples
示例 1: 使用$and
运算符来组合条件,确保所有条件都满足。
{
"$and": [
{
"key": {
"$eq": "val"
}
}
]
}
示例 2: 使用$and
运算符来组合条件,其中包含$in
运算符来检查数组包含性。
{
"$and": [
{
"key1": {
"$in": ["foo", "bar"]
}
},
{
"key2": {
"$in": [1, 2]
}
}
]
}
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# FilterObject<T>
FilterObject<
T
>: { [operator in LogicalOperator]?: FilterConditionItem<T>[] | FilterObject<T> }
定义过滤参数的类型。
# Examples
{
"$and": [
{
"title": {
"$eq": "hello"
}
}
]
}
{
"$or": [
{
"$and": [
{
"title": {
"$eq": "hello"
}
},
{
"body": {
"$neq": "world"
}
}
]
},
{
"createdBy": {
"$eq": "xxx"
}
}
]
}
# 类型参数
类型参数 | 描述 |
---|---|
T | 表示模型字段的类型。 此类型定义允许使用复杂的查询条件来过滤数据。 |
# FilterParams<T>
FilterParams<
T
>:object
定义过滤参数的类型。
# Example
{
relateWhere: {
comments: {
where: {
comment: {
$nempty: true,
},
},
},
},
where: {},
}
# 类型参数
类型参数 | 描述 |
---|---|
T | 表示模型字段的类型。 |
# 类型声明
# relateWhere?
optional
relateWhere:{ [K in RelationKeys<T>]?: Object }
关联关系查询
# where?
optional
where:FilterConditionItem
<T
> |FilterObject
<T
>
基础查询
# ListParams<T>
ListParams<
T
>:object
list 方法参数定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# filter?
optional
filter:FilterParams
<T
>
# getCount?
optional
getCount:boolean
# orderBy?
optional
orderBy:OrderByParams
[]
# pageNumber?
optional
pageNumber:number
# pageSize?
optional
pageSize:number
# relateWhere?
optional
relateWhere:any
# select?
optional
select:SelectParams
<T
> |object
# ListResponse<T>
ListResponse<
T
>:MethodResponse
<object
>
数据列表方法的返回类型定义。
# 类型声明
# records
records:
T
[]
# total?
optional
total:number
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# LogicalOperator
LogicalOperator:
"$and"
|"$or"
逻辑运算符类型定义。
# MethodResponse<T>
MethodResponse<
T
>:object
模型操作方法的返回类型定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 返回数据的类型。 |
# 类型声明
# data
data:
T
返回的数据。
# requestId?
optional
requestId:string
请求的唯一标识符。
# OrderByParams
OrderByParams:
object
排序参数结构定义。
# Example
{
"createdAt": "asc",
}
# 索引签名
[key
: string
]: "asc"
| "desc"
# RelationField<T>
RelationField<
T
>:T
extendsobject
?U
:never
# 类型参数
类型参数 |
---|
T |
# SelectParams<T>
SelectParams<
T
>: { [K in keyof T]?: T[K] extends (infer U)[] | undefined ? SelectParams<U> | boolean : T[K] extends object | undefined ? SelectParams<T[K]> | boolean : boolean } &object
选择参数结构定义,用于指定查询时返回的字段。
# Examples
{
"key1": true,
}
{
$master: true,
}
{
$master: true,
comments: {
comment: true,
}
}
# 类型声明
# $master?
optional
$master:boolean
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# SpecialComparisonOperator
SpecialComparisonOperator:
"$search"
|"$nsearch"
|"$empty"
|"$nempty"
特殊比较运算符类型定义
# UpdateResponse<T>
UpdateResponse<
T
>:object
更新操作的响应类型定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# count
count:
number
更新操作影响的记录数量。
# UpsertResponse<T>
UpsertResponse<
T
>:object
创建或者更新的响应类型定义。
# 类型参数
类型参数 | 描述 |
---|---|
T | 模型字段的类型。 |
# 类型声明
# count
count:
number
变更的条数,返回非 0 值代表更新成功
# id
id:
string
变更的条数,返回非 "" 值代表创建成功
# OrmRawQueryClient
运行原生 SQL 的 ORM 客户端接口
# 属性
# $runSQL()?
此方法仅支持服务端调用
optional
$runSQL: (sql
,params
?,config
?) =>Promise
<MethodResponse
<object
>>
# 参数
参数 | 类型 | 描述 |
---|---|---|
sql | string | sql 语句 |
params ? | Record <string , any > | sql 模版变量 |
config ? | SQLCommandParams | 配置 |
# 返回
Promise
<MethodResponse
<object
>>
# $runSQLRaw()?
此方法仅支持服务端调用
optional
$runSQLRaw: (sql
,config
?) =>Promise
<MethodResponse
<object
>>
# 参数
参数 | 类型 | 描述 |
---|---|---|
sql | string | sql 语句 |
config ? | SQLCommandParams | 配置 |
# 返回
Promise
<MethodResponse
<object
>>
# SQLCommandParams
# 属性
# timeout?
optional
timeout:number
超时时间,默认是 5s,最大不超过 15s