收藏
回答

为什么使用Collection.watch监听不到更新数据事件?

小程序端:

const db = wx.cloud.database();
const watcher = db.collection('arrange_notify').doc('x').watch({
    onChange: function(snapshot) {
        console.log('snapshot=====>>>>>', snapshot)
    },
    onError: function(err) {
        console.error('the watch closed because of error', err)
    }
});


云函数:

// 云函数入口文件
const cloud = require('wx-server-sdk');
cloud.init();
// 云函数入口函数
exports.main = async (event, context) => {
    //const wxContext = cloud.getWXContext();
    const db = cloud.database();

    try {
        const result = await db.collection('arrange_notify').doc("x").update({
            // data 传入需要局部更新的数据
            data: {test: new Date().getTime()}
        });
        console.log("日程通知更新完毕:", result);
    } catch (e) {
        console.log("更新日程通知出现异常");
    }
};


每次更新完数据,小程序端不会接收到更新事件

回答关注问题邀请回答
收藏

1 个回答

  • showms
    showms
    2021-07-25

    找到原因了,要修改一下云数据库集合权限设置,改为所有用户可读

    2021-07-25
    有用 1
    回复 1
    • 诚 (阴暗版)
      诚 (阴暗版)
      2022-05-16
      我改了权限也没有用怎么回事啊
      2022-05-16
      回复
登录 后发表内容