之前在pc上也是正常的,突然报的这个错。
排查了好久发现是这个监听的错。
试过用get获取数据pc也是可以获取的,就是这个watch报了错
下面是代码片段
watcher = db.collection(database_name).orderBy('time', 'desc').where({ // openid:wx.getStorageSync('openid'), uid:wx.getStorageSync('id') }).watch({ onChange:function(data){ console.log(data) if(data.docChanges.length==0){ return } //当数据删除的时候 if(data.docChanges[0].dataType=="remove"){ console.log('删除') }else if(data.docChanges[0].dataType=="add"){ // 语音播报 if(data.docChanges[0].doc.msg_type==2){ data_arr.push(data.docChanges[0].doc.msg) console.log(data_arr,'单个语音播报') audio_text(data_arr[0]) } } }, one rror:function(err){ watcher.close() } })
最后的最后无意间发现了问题所在:数据越来越多,初始化的时候返回的数据也就大了
pc端监听的返回的数据大小的限制。 解决方案:加个limit()做个限制