数据库通用接口

前端接口

可以直接在前端调用的接口

新建数据

$product.insert(type, x)

$tkdb.insert(type, key, x)

$order.insert(type, desc, total, x)

获取数据

$product.get(id, 缓存)

$tkdb.get(id, 缓存)

$user.get(id, 缓存)

$order.get(id, 缓存)

$asset.get(id, 缓存)

缓存传入0时表示放弃前端缓存而总是从后端重新读取。

查询数据

$product.find(Q, O, 缓存, 回调)

$tkdb.find(Q, O, 缓存, 回调)

$user.find(Q, O, 缓存, 回调)

$order.find(Q, O, 缓存, 回调)

$asset.find(Q, O, 缓存, 回调)

根据查询条件Query)和选项Option)搜索数据。
数据返回后会执行回调表达式,$x是返回的数据。
缓存传入0时表示放弃浏览器缓存而总是从数据库中读取,大于0时(小时数,范围: 0.1 ~ 5)指示服务器把搜索结果放入缓存,以便下次快速读取。

limit

选项O里limit时表示数据量不大,希望一次性取得所有数据,此时返回的是数据数组(前端最多1000条,后端5000);
limit = 1时只返回一条数据对象(或404);
limit > 1时表示数据量比较大,后续希望通过自定义查询/翻页进一步过滤数据,此时返回的是复合数据结构:

{
    arr: 数据数组,
    all: 多次查询结果合并后的数组, 数据表格的无限滚动会用到,
    count: 数据总数,
    Q: 查询条件,
    O: 选项,
    limit,
    skip,
    find: 再次查询的简便函数。
}

$v.变量.find(Q, O):参数Q和O会跟原Q和O合并,如果都不填则用原Q和O重新查询(绕开前端缓存);O默认是{ skip: 0 },即从头重搜。

统计行数

$product.count(Q, 缓存)

$tkdb.count(Q, 缓存)

$user.count(Q, 缓存)

$order.count(Q, 缓存)

$asset.count(Q, 缓存)

find()接口的简化,仅获取符合条件的数据条数而不拉取具体列表

更新数据

$product.update(id, 更新器, 保留历史)

$tkdb.update(id, 更新器, 保留历史)

$user.update(id, 更新器, 保留历史)

$order.update(id, 更新器, 保留历史)

$asset.update(id, 更新器, 保留历史)

根据更新器来更新数据。当参数【保留历史】为真时会保留更新历史记录,可以在【应用中心/内部数据】右键对应数据查看/回滚/比较;
更新器在后端服务中的变量是U(Updater)

删除数据

$product.delete(id, 逻辑)

$tkdb.delete(id, 逻辑)

$order.delete(id, 逻辑)

$asset.delete(id)

当参数【逻辑】为真时进行逻辑删除,可以在【应用中心/内部数据】的回收站恢复;
资源表asset则总是进行逻辑删除,资源被平台物理删除前可在【应用中心/资源】撤销删除。

后端接口

只能在后端服务或request事件中调用,跟前端接口基本一致,完全相同的灰色显示,未列出来的接口不可用。

新建数据

$product.insert(type, x, y)

$tkdb.insert(type, key, x, y)

$order.insert(type, desc, total, x, y)

$user.insert(phone, 密码, x, y)

获取数据

$product.get(id)

$tkdb.get(id)

$user.get(id)

$order.get(id)

查询数据

$product.find(Q, O, 缓存)

$tkdb.find(Q, O, 缓存)

$user.find(Q, O, 缓存)

$order.find(Q, O, 缓存)

统计行数

$product.count(Q, 缓存)

$tkdb.count(Q, 缓存)

$user.count(Q, 缓存)

$order.count(Q, 缓存)

更新数据

$product.update(id, U)

$tkdb.update(id, U)

$user.update(id, U)

$order.update(id, U)

删除数据

$product.delete(id, 逻辑)

$tkdb.delete(id, 逻辑)

$tkdb.delete(type, key, 逻辑)

$user.delete(id, 逻辑)

$order.delete(id, 逻辑)

批量更新

$product.updates(Q, U)

$tkdb.updates(Q, U)

$user.updates(Q, U)

批量删除

$product.deletes(Q, 逻辑)

$tkdb.deletes(Q, 逻辑)

$user.deletes(Q, 逻辑)

$order.deletes(Q, 逻辑)

批量更改类型

$product.changeTypes(Q, type)

$tkdb.changeTypes(Q, type)

$order.changeTypes(Q, type)

由众触低代码平台生成和驱动