昨天要用到watch对数据库的监听,测试来测试去老是不行,于是我另写了一个demo来测试这个watch。
昨天弄了一晚,参照了一下网上又啄磨了小程序生成的demo,感觉服点眉目。今天一早,写完一测,我去居然行了。感觉又惊喜又诡异,为什么之前测试老是不行呢,也是这样写的,数据库的权限也设置了,但老是不行,实在是魔幻。
趁着现在行了,赶紧把这个demo记下来,以后又碰到这种情况可以回头看看。
基于index页面
1.onload中进行监听
db.collection('test_watch').where({name:'小明'}).watch({onChange:function(e){console.log(e)},onError:function(e){console.log(e)}}
2.在index.wxml添加两个按钮分别是'添加'和'云添加',对应的响应函数为add和add_cloud。
add:
db.collection('test_watch').add({data:{name:'小明',tine:new Date().getTime()}})
add_cloud:
wx.cloud.callfuntion({name:'test_watch'})
新建云函数test_watch:
db.collection('test_watch').add({data:{name:'小明',tine:new Date().getTime()}})
3.云数据库新建一个集合test_watch,权限设置选择全都可读,仅创建者可读可写
正常情况下,无论点击哪个按钮监听都会被触发,多帐号测试也同样如此
网友评论