收藏
回答

云开发watch在监听不到数据的更新?

我在页面1中往collection集合中添加了一个文档(一篇文章),然后在页面2的onLoad方法中使用watch进行监听,想要将新添加的文章展示在页面2上

但是好像压根就没有监听到,我的发表的每篇文章都有一个字段 type,值为 article

// 页面1 添加文章的代码
db.collection('collection').add({
      data: articleData
})

// 页面2 监听新增文章的代码
db.collection('collection').where({
      type: 'article'
    }).watch({
      onChange: (snapshot) => {
        if (snapshot.docChanges.length > 0) {
          snapshot.docChanges.forEach(change => {
            if (change.dataType === 'add') {
              this.articleToPage(change.doc); // 将新增的文章放到页面上
            }
          });
        }
      },
      onError: (err) => {
        console.error('监听新增的文章失败', err);
      }
    });
回答关注问题邀请回答
收藏

3 个回答

  • 朱兆恩(易做图)
    朱兆恩(易做图)
    06-18

    先看看真写入数据库没有

    06-18
    有用
    回复
  • dreamhunter
    dreamhunter
    06-18

    当前用户获取到的数据没有变化,可以同时查询下数据集返回结果

    06-18
    有用
    回复
  • showms
    showms
    06-18

    看下是不是数据权限的问题

    06-18
    有用
    回复
登录 后发表内容