databaseForJQL()
uniCloud.databaseForJQL()是客户端访问云数据库的API,即clientDB。
VDOM模式安卓平台有如下限制:
- 暂不支持泛型传递
- 暂不支持getOne
- 暂不支持调用
db.command.aggregate - db.command.xxx不支持链式调用,如
db.command.lte(1726934400000).and(db.command.gte(1726848000000))需改为db.command.and([db.command.lte(1726934400000),db.command.gte(1726848000000)])
和uni-app项目的差异
- uni-app x项目内不再支持uniCloud.database()方法,仅支持uniCloud.databaseForJQL()。
- 不再支持action云函数,因为安全问题已经不再推荐使用action云函数。开发者应改用数据库触发器来实现相关功能。
获取数据库操作实例
databaseForJQL 兼容性 ?
| Web | 微信小程序 | Android | iOS | HarmonyOS |
| 4.0 | 4.41 | 阿里云 3.91,腾讯云 3.91,支付宝云 3.98 | 4.11 | 4.61 |
返回值
| 类型 |
| Database |
| 名称 | 类型 | 必备 | | command | UniCloudDBCommand | 是 | | Geo | UniCloudDBGeo | 是 | | 名称 | 类型 | 必备 | 描述 | | Point | GeoPoint | 是 | 地理位置点 | | LineString | GeoLineString | 是 | 地理路径,是由两个或者更多的 Point 组成的线段 | | Polygon | GeoPolygon | 是 | 地理上的一个多边形(有洞或无洞均可),它是由一个或多个闭环 LineString 组成的几何图形 | | MultiPoint | GeoMultiPoint | 是 | 多个地理位置点 Point 的集合 | | MultiLineString | GeoMultiLineString | 是 | 多个地理路径 LineString 的集合 | | MultiPolygon | GeoMultiPolygon | 是 | 多个地理多边形 Polygon 的集合 |
|
|
UniCloudDBCommand 的方法
and(args: Array<UTSJSONObject>): UTSJSONObject;
and
查询操作符,用于表示逻辑 "与" 的关系,表示需同时满足多个查询筛选条件
参数
返回值
or(args: Array<UTSJSONObject>): UTSJSONObject;
or
查询操作符,用于表示逻辑 "或" 的关系,表示需同时满足多个查询筛选条件
参数
返回值
not(arg: UTSJSONObject): UTSJSONObject;
not
查询操作符,用于表示逻辑 "非" 的关系,表示需不满足指定的条件
参数
返回值
nor(args: Array<UTSJSONObject>): UTSJSONObject;
nor
查询操作符,用于表示逻辑 "都不" 的关系,表示需不满足指定的所有条件
参数
返回值
eq(arg: any): UTSJSONObject;
eq
查询筛选条件,表示字段等于某个值
参数
返回值
neq(arg: any): UTSJSONObject;
neq
查询筛选条件,表示字段不等于某个值
参数
返回值
lt(arg: any): UTSJSONObject;
lt
查询筛选操作符,表示需小于指定值
参数
返回值
lte(arg: any): UTSJSONObject;
lte
查询筛选操作符,表示需小于或等于指定值
参数
返回值
gt(arg: any): UTSJSONObject;
gt
查询筛选操作符,表示需大于指定值
参数
返回值
gte(arg: any): UTSJSONObject;
gte
查询筛选操作符,表示需大于或等于指定值
参数
返回值
in(arr: Array<any>): UTSJSONObject;
in
查询筛选操作符,表示要求值在给定的数组内
参数
| 名称 | 类型 | 必填 |
| arr | Array<any> | 是 |
返回值
nin(arr: Array<any>): UTSJSONObject;
nin
查询筛选操作符,表示要求值不在给定的数组内
参数
| 名称 | 类型 | 必填 |
| arr | Array<any> | 是 |
返回值
exists(arg: boolean): UTSJSONObject;
exists
判断字段是否存在
参数
返回值
mod(divisor: number, remainder: number): UTSJSONObject;
mod
查询筛选操作符,给定除数 divisor 和余数 remainder
参数
| 名称 | 类型 | 必填 | 描述 |
| divisor | number | 是 | 除数 |
| remainder | number | 是 | 余数 |
返回值
all(arr: Array<any>): UTSJSONObject;
all
数组查询操作符。用于数组字段的查询筛选条件,要求数组字段中包含给定数组的所有元素
参数
| 名称 | 类型 | 必填 |
| arr | Array<any> | 是 |
返回值
elemMatch(arg: UTSJSONObject): UTSJSONObject;
elemMatch
用于数组字段的查询筛选条件,要求数组中包含至少一个满足 elemMatch 给定的所有条件的元素
参数
返回值
size(arg: number): UTSJSONObject;
size
更新操作符,用于数组字段的查询筛选条件,要求数组长度为给定值
参数
返回值
geoNear(arg: UTSJSONObject): UTSJSONObject;
geoNear
按从近到远的顺序,找出字段值在给定点的附近的记录
参数
返回值
geoWithin(arg: UTSJSONObject): UTSJSONObject;
geoWithin
找出字段值在指定区域内的记录,无排序。指定的区域必须是多边形(Polygon)或多边形集合(MultiPolygon)
参数
返回值
geoIntersects(arg: UTSJSONObject): UTSJSONObject;
geoIntersects
找出给定的地理位置图形相交的记录
参数
返回值
Database 的方法
collection(...args: Array<any>): Collection;
collection
参数
| 名称 | 类型 | 必填 |
| args | Array<any> | 否 |
返回值
Collection 的方法
where(condition: any): UniCloudDBFilter;
where
参数
返回值
UniCloudDBFilter 的方法
get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;
get
参数
返回值
| 类型 |
| Promise<UniCloudDBGetResult> |
| 名称 | 类型 | 必备 | 描述 | | data | Array<UTSJSONObject> | 是 | 添加的记录的id列表 | | count | number | 否 | 匹配到的数据总量 | | requestId | string | 否 | 请求id |
|
count(): Promise<UniCloudDBCountResult>;
count
返回值
| 类型 |
| Promise<UniCloudDBCountResult> |
| 名称 | 类型 | 必备 | 描述 | | total | number | 是 | 添加的记录的id列表 | | requestId | string | 否 | 请求id |
|
update(data: UTSJSONObject): Promise<UniCloudDBUpdateResult>;
update
参数
返回值
| 类型 |
| Promise<UniCloudDBUpdateResult> |
| 名称 | 类型 | 必备 | 描述 | | updated | number | 是 | 更新成功的记录数 | | requestId | string | 否 | 请求id |
|
remove(): Promise<UniCloudDBRemoveResult>;
remove
返回值
| 类型 |
| Promise<UniCloudDBRemoveResult> |
| 名称 | 类型 | 必备 | 描述 | | deleted | number | 是 | 删除成功的记录数 | | requestId | string | 否 | 请求id |
|
getTemp(): UTSJSONObject;
getTemp
返回值
where(condition: any): UniCloudDBFilter;
where
参数
返回值
doc(docId: string): UniCloudDBFilter;
doc
参数
返回值
field(filed: string): UniCloudDBQuery;
field
参数
返回值
UniCloudDBQuery 的方法
get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;
get
参数
返回值
| 类型 |
| Promise<UniCloudDBGetResult> |
| 名称 | 类型 | 必备 | 描述 | | data | Array<UTSJSONObject> | 是 | 添加的记录的id列表 | | count | number | 否 | 匹配到的数据总量 | | requestId | string | 否 | 请求id |
|
count(): Promise<UniCloudDBCountResult>;
count
返回值
| 类型 |
| Promise<UniCloudDBCountResult> |
| 名称 | 类型 | 必备 | 描述 | | total | number | 是 | 添加的记录的id列表 | | requestId | string | 否 | 请求id |
|
getTemp(): UTSJSONObject;
getTemp
返回值
field(filed: string): UniCloudDBQuery;
field
参数
返回值
skip(num: number): UniCloudDBQuery;
skip
参数
返回值
limit(num: number): UniCloudDBQuery;
limit
参数
返回值
orderBy(order: string): UniCloudDBQuery;
orderBy
参数
返回值
groupBy(field: string): UniCloudDBQuery;
groupBy
参数
返回值
groupField(field: string): UniCloudDBQuery;
groupField
参数
返回值
distinct(field: string): UniCloudDBQuery;
distinct
参数
返回值
geoNear(options: UTSJSONObject): UniCloudDBQuery;
geoNear
参数
返回值
skip(num: number): UniCloudDBQuery;
skip
参数
返回值
limit(num: number): UniCloudDBQuery;
limit
参数
返回值
orderBy(order: string): UniCloudDBQuery;
orderBy
参数
返回值
groupBy(field: string): UniCloudDBQuery;
groupBy
参数
返回值
groupField(field: string): UniCloudDBQuery;
groupField
参数
返回值
distinct(field: string): UniCloudDBQuery;
distinct
参数
返回值
geoNear(options: UTSJSONObject): UniCloudDBQuery;
geoNear
参数
返回值
doc(docId: string): UniCloudDBFilter;
doc
参数
返回值
aggregate(): UniCloudDBFilter;
aggregate
返回值
foreignKey(foreignKey: string): UniCloudDBFilter;
foreignKey
参数
| 名称 | 类型 | 必填 |
| foreignKey | string | 是 |
返回值
add(data: UTSJSONObject): Promise<UniCloudDBAddResult>;
add
参数
返回值
| 类型 |
| Promise<UniCloudDBAddResult> |
| 名称 | 类型 | 必备 | 描述 | | id | string | 是 | 添加的记录的id | | requestId | string | 否 | 请求id |
|
get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;
get
参数
返回值
| 类型 |
| Promise<UniCloudDBGetResult> |
| 名称 | 类型 | 必备 | 描述 | | data | Array<UTSJSONObject> | 是 | 添加的记录的id列表 | | count | number | 否 | 匹配到的数据总量 | | requestId | string | 否 | 请求id |
|
count(): Promise<UniCloudDBCountResult>;
count
返回值
| 类型 |
| Promise<UniCloudDBCountResult> |
| 名称 | 类型 | 必备 | 描述 | | total | number | 是 | 添加的记录的id列表 | | requestId | string | 否 | 请求id |
|
getTemp(): UTSJSONObject;
getTemp
返回值
field(filed: string): UniCloudDBQuery;
field
参数
返回值
skip(num: number): UniCloudDBQuery;
skip
参数
返回值
limit(num: number): UniCloudDBQuery;
limit
参数
返回值
orderBy(order: string): UniCloudDBQuery;
orderBy
参数
返回值
multiSend(...args: Array<UTSJSONObject>): Promise<UniCloudDBMultiSendResult>;
multiSend
合并查询请求
multiSend 兼容性 ?
| Web | 微信小程序 | Android | iOS | HarmonyOS |
| 4.0 | 4.41 | 4.16 | 4.11 | 4.61 |
参数
返回值
| 类型 |
| Promise<UniCloudDBMultiSendResult> |
| 名称 | 类型 | 必备 | 描述 | | dataList | Array<UniCloudDBMultiSendResultItem> | 是 | 数据列表 | | 名称 | 类型 | 必备 | 描述 | | errCode | any | 是 | 错误码,可能为字符串或数字,数字0表示成功 | | errMsg | string | 是 | 错误信息 | | data | Array<UTSJSONObject> | 否 | 数据 |
| | requestId | string | 否 | 请求id |
|
参见