项目需要对一个数据库监控,Update某一字段时,推送消息,大概如下:
onReady: function () {
let that = this;
dbApplyJiQiMaCollection
.watch({
onChange: function (snapshot) {
if (snapshot.type === 'init') {
} else {
let docChageType = snapshot.docChanges[0].dataType
switch (docChageType) {
case "add":
case "update":
//推送订阅消息
commonLib.SendTemp(OpenidT, CompanyName + 'OK')
break;
}
}
},
onError: function (err) {
}
})
},
现在业务变更不需要推送了,我把上面部分代码删除,但是测试时,更新数据库仍然会推送。为了确保项目其他地方没有调用推送函数。我新建一个新的项目,在Index页面中单单添加对数据库更新的代码,也会收到推送。代码如下
const db = wx.cloud.database()
const dbApplyJiQiMaCollection = db.collection('ApplyJiQiMa')
Page({
hsq: function (event) {
dbApplyJiQiMaCollection.where({
LiuShuiNum: 40
}).where({
ApplyDate: 1635839693716
}).update({
data: {
YeWuText: new Date()
},
success: function (res1) {
wx.showToast({
title: '更新成功',
icon: 'none',
duration: 2000
})
},
fail: function (error1) {
wx.showToast({
title: '更新失败',
icon: 'none',
duration: 2000
})
}
})
},
})
在云开发控制台的日志中,可以查到推送函数的调用,问题是,我代码中的确没有调用(新建的测试项目只有对数据库更新的代码),为什么我一更新数据库它就自动调用了呢?
TIP: 开发者工具版本:1.05.2110290
这个项目只你在开发者工具上运行?别人没代码?没发布?没测试版?没体验版?从头到尾只有你一个人用?见鬼?