# 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 查询操作符,用于表示逻辑 "与" 的关系,表示需同时满足多个查询筛选条件

# 参数
名称 类型 必填
args Array<UTSJSONObject>
# 返回值
类型
UTSJSONObject
# or(args: Array<UTSJSONObject>): UTSJSONObject;

or 查询操作符,用于表示逻辑 "或" 的关系,表示需同时满足多个查询筛选条件

# 参数
名称 类型 必填
args Array<UTSJSONObject>
# 返回值
类型
UTSJSONObject
# not(arg: UTSJSONObject): UTSJSONObject;

not 查询操作符,用于表示逻辑 "非" 的关系,表示需不满足指定的条件

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
UTSJSONObject
# nor(args: Array<UTSJSONObject>): UTSJSONObject;

nor 查询操作符,用于表示逻辑 "都不" 的关系,表示需不满足指定的所有条件

# 参数
名称 类型 必填
args Array<UTSJSONObject>
# 返回值
类型
UTSJSONObject
# eq(arg: any): UTSJSONObject;

eq 查询筛选条件,表示字段等于某个值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# neq(arg: any): UTSJSONObject;

neq 查询筛选条件,表示字段不等于某个值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# lt(arg: any): UTSJSONObject;

lt 查询筛选操作符,表示需小于指定值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# lte(arg: any): UTSJSONObject;

lte 查询筛选操作符,表示需小于或等于指定值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# gt(arg: any): UTSJSONObject;

gt 查询筛选操作符,表示需大于指定值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# gte(arg: any): UTSJSONObject;

gte 查询筛选操作符,表示需大于或等于指定值

# 参数
名称 类型 必填
arg any
# 返回值
类型
UTSJSONObject
# in(arr: Array<any>): UTSJSONObject;

in 查询筛选操作符,表示要求值在给定的数组内

# 参数
名称 类型 必填
arr Array<any>
# 返回值
类型
UTSJSONObject
# nin(arr: Array<any>): UTSJSONObject;

nin 查询筛选操作符,表示要求值不在给定的数组内

# 参数
名称 类型 必填
arr Array<any>
# 返回值
类型
UTSJSONObject
# exists(arg: boolean): UTSJSONObject;

exists 判断字段是否存在

# 参数
名称 类型 必填
arg boolean
# 返回值
类型
UTSJSONObject
# mod(divisor: number, remainder: number): UTSJSONObject;

mod 查询筛选操作符,给定除数 divisor 和余数 remainder

# 参数
名称 类型 必填 描述
divisor number 除数
remainder number 余数
# 返回值
类型
UTSJSONObject
# all(arr: Array<any>): UTSJSONObject;

all 数组查询操作符。用于数组字段的查询筛选条件,要求数组字段中包含给定数组的所有元素

# 参数
名称 类型 必填
arr Array<any>
# 返回值
类型
UTSJSONObject
# elemMatch(arg: UTSJSONObject): UTSJSONObject;

elemMatch 用于数组字段的查询筛选条件,要求数组中包含至少一个满足 elemMatch 给定的所有条件的元素

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
UTSJSONObject
# size(arg: number): UTSJSONObject;

size 更新操作符,用于数组字段的查询筛选条件,要求数组长度为给定值

# 参数
名称 类型 必填
arg number
# 返回值
类型
UTSJSONObject
# geoNear(arg: UTSJSONObject): UTSJSONObject;

geoNear 按从近到远的顺序,找出字段值在给定点的附近的记录

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
UTSJSONObject
# geoWithin(arg: UTSJSONObject): UTSJSONObject;

geoWithin 找出字段值在指定区域内的记录,无排序。指定的区域必须是多边形(Polygon)或多边形集合(MultiPolygon)

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
UTSJSONObject
# geoIntersects(arg: UTSJSONObject): UTSJSONObject;

geoIntersects 找出给定的地理位置图形相交的记录

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
UTSJSONObject

# Database 的方法

# collection(...args: Array<any>): Collection;

collection

# 参数
名称 类型 必填
args Array<any>
# 返回值
类型
Collection
# Collection 的方法
# where(condition: any): UniCloudDBFilter;

where

# 参数
名称 类型 必填
condition any
# 返回值
类型
UniCloudDBFilter
# UniCloudDBFilter 的方法
# get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;

get

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
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

# 参数
名称 类型 必填
data UTSJSONObject
# 返回值
类型
Promise<UniCloudDBUpdateResult>
名称 类型 必备 描述
updated number 更新成功的记录数
requestId string 请求id
# remove(): Promise<UniCloudDBRemoveResult>;

remove

# 返回值
类型
Promise<UniCloudDBRemoveResult>
名称 类型 必备 描述
deleted number 删除成功的记录数
requestId string 请求id
# getTemp(): UTSJSONObject;

getTemp

# 返回值
类型
UTSJSONObject
# where(condition: any): UniCloudDBFilter;

where

# 参数
名称 类型 必填
condition any
# 返回值
类型
UniCloudDBFilter
# doc(docId: string): UniCloudDBFilter;

doc

# 参数
名称 类型 必填
docId string
# 返回值
类型
UniCloudDBFilter
# field(filed: string): UniCloudDBQuery;

field

# 参数
名称 类型 必填
filed string
# 返回值
类型
UniCloudDBQuery
# UniCloudDBQuery 的方法
# get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;

get

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
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

# 返回值
类型
UTSJSONObject
# field(filed: string): UniCloudDBQuery;

field

# 参数
名称 类型 必填
filed string
# 返回值
类型
UniCloudDBQuery
# skip(num: number): UniCloudDBQuery;

skip

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# limit(num: number): UniCloudDBQuery;

limit

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# orderBy(order: string): UniCloudDBQuery;

orderBy

# 参数
名称 类型 必填
order string
# 返回值
类型
UniCloudDBQuery
# groupBy(field: string): UniCloudDBQuery;

groupBy

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# groupField(field: string): UniCloudDBQuery;

groupField

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# distinct(field: string): UniCloudDBQuery;

distinct

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# geoNear(options: UTSJSONObject): UniCloudDBQuery;

geoNear

# 参数
名称 类型 必填
options UTSJSONObject
# 返回值
类型
UniCloudDBQuery
# skip(num: number): UniCloudDBQuery;

skip

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# limit(num: number): UniCloudDBQuery;

limit

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# orderBy(order: string): UniCloudDBQuery;

orderBy

# 参数
名称 类型 必填
order string
# 返回值
类型
UniCloudDBQuery
# groupBy(field: string): UniCloudDBQuery;

groupBy

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# groupField(field: string): UniCloudDBQuery;

groupField

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# distinct(field: string): UniCloudDBQuery;

distinct

# 参数
名称 类型 必填
field string
# 返回值
类型
UniCloudDBQuery
# geoNear(options: UTSJSONObject): UniCloudDBQuery;

geoNear

# 参数
名称 类型 必填
options UTSJSONObject
# 返回值
类型
UniCloudDBQuery
# doc(docId: string): UniCloudDBFilter;

doc

# 参数
名称 类型 必填
docId string
# 返回值
类型
UniCloudDBFilter
# aggregate(): UniCloudDBFilter;

aggregate

# 返回值
类型
UniCloudDBFilter
# foreignKey(foreignKey: string): UniCloudDBFilter;

foreignKey

# 参数
名称 类型 必填
foreignKey string
# 返回值
类型
UniCloudDBFilter
# add(data: UTSJSONObject): Promise<UniCloudDBAddResult>;

add

# 参数
名称 类型 必填
data UTSJSONObject
# 返回值
类型
Promise<UniCloudDBAddResult>
名称 类型 必备 描述
id string 添加的记录的id
requestId string 请求id
# get(arg?: UTSJSONObject): Promise<UniCloudDBGetResult>;

get

# 参数
名称 类型 必填
arg UTSJSONObject
# 返回值
类型
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

# 返回值
类型
UTSJSONObject
# field(filed: string): UniCloudDBQuery;

field

# 参数
名称 类型 必填
filed string
# 返回值
类型
UniCloudDBQuery
# skip(num: number): UniCloudDBQuery;

skip

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# limit(num: number): UniCloudDBQuery;

limit

# 参数
名称 类型 必填
num number
# 返回值
类型
UniCloudDBQuery
# orderBy(order: string): UniCloudDBQuery;

orderBy

# 参数
名称 类型 必填
order string
# 返回值
类型
UniCloudDBQuery

# multiSend(...args: Array<UTSJSONObject>): Promise<UniCloudDBMultiSendResult>;

multiSend 合并查询请求

# multiSend 兼容性 ?
Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.16 4.11 4.61
# 参数
名称 类型 必填
args Array<UTSJSONObject>
# 返回值
类型
Promise<UniCloudDBMultiSendResult>
名称 类型 必备 描述
dataList Array<UniCloudDBMultiSendResultItem> 数据列表
名称 类型 必备 描述
errCode any 错误码,可能为字符串或数字,数字0表示成功
errMsg string 错误信息
data Array<UTSJSONObject> 数据
requestId string 请求id

# 参见