Collection.watch中监听失效/onChange无返回数据的可能性原因
const watcher = db.collection('todos')
// 按 progress 降序
.orderBy('progress', 'desc')
// 取按 orderBy 排序之后的前 10 个
.limit(10)
// 筛选语句
.where({
// 填入当前用户 openid,或如果使用了安全规则,则 {openid} 即代表当前用户 openid
//_openid: '{openid}'
})
// 发起监听
.watch({
onChange: function (snapshot) {
console.log('snapshot', snapshot)
},
onError: function (err) {
console.error('the watch closed because of error', err)
}
})
尝试了很久发现没返回数据,核查后原因如下:
数据权限问题,需要调整成“所有用户可读,仅创建者可读写”,否则onChange方法将会无任何返回结果,这一点官方文档目前(2022/09/03)没有说明,略坑!;