-
uni-id-users.schema.ext.js
//uni-id-users.schema.ext.js module.exports = { trigger: { beforeRead:async function (event) { console.log(event) }, beforeCreate: async function (event) { console.log(event) }, afterCreate:async function (event) { console.log(event) }, beforeUpdate:async function (event) { console.log(event) }, afterUpdate:async function (event) { console.log(event) }, } } - 微信小程序一键登录
const uniIdCo = uniCloud.importObject('uni-id-co',{customUI: true}) await uniIdCo.loginByWeixin({ code, inviteCode:`` })
hhyang
- 发布:2023-02-22 15:38
- 更新:2023-02-22 16:35
- 阅读:879
【报Bug】uni-id-users.schema.json DB Schema扩展js无法触发
分类:uniCloud
产品分类: uniCloud/App
示例代码:
操作步骤:
使用admin模块创建基本项目体系,然后客户端关联该项目使用同一空间
- 微信小程序一键登录 成功将数据插入到了
uni-id-users 表中,但无论读取还是写入操作都跳过DB Schema扩展js
- admin后台登录能正常触发
使用admin模块创建基本项目体系,然后客户端关联该项目使用同一空间
- 微信小程序一键登录 成功将数据插入到了
uni-id-users表中,但无论读取还是写入操作都跳过DB Schema扩展js - admin后台登录能正常触发
预期结果:
正常触发
正常触发
实际结果:
无法触发
无法触发
bug描述:
已经创建 uni-id-users.schema.ext.js 但是当 uni-id-users表中已经插入了数据或者读取数据时 未触发对应的数据库触发器
2 个回复
hhyang (作者) - 如有问题,请添加QQ1606726660 备注付费咨询
我的问题
JQL的数据库触发器,用于在执行一段JQL数据库指令(增删改查等)的同时触发相应的操作。
仅限使用JQL来操作数据库,客户端和云端均可以执行JQL。但使用传统MongoDB写法不支持数据库触发器。
可以使用触发器方便的实现很多功能,例如:
更新数据时自动将更新时间修改为当前时间
读取文章详情后阅读量加1
发布一篇文章后自动给文章作者列表文章数量加1
由于数据库触发器是在云端执行的,所以clientDB操作数据库时很多不宜写在前端的代码,就可以挪到数据库触发器中实现。
如果把数据库的schema定义好,包括json和ext.js,那么各个业务模块就可以随便安心的调用数据库了,数据一致性逻辑和安全保障将被统一管理,不担心不良业务代码的破坏、不担心哪次调用会漏掉更新时间字段。
DCloud_heavensoft
这个是因为uni-id写入数据表,没有使用jql写法而是使用传统MongoDB写法造成的。
hhyang (作者)
谢谢 我看了代码然后仔细阅读了文档 已经发现问题并解决了
2023-02-22 16:42
7***@qq.com
回复 hhyang: 你好,请问这个怎么解决的
2023-09-13 15:43
7***@qq.com
只有creatd无法触发,update可以触发
2023-09-13 16:03
hhyang (作者)
回复 7***@qq.com: 我记得是去改了他们源码 然后解决的
2023-09-13 16:43