const watcher =db.collection('equip_info').where(_.or([
{
ifUncommon:false,
ifForbidden:false
},{
ifUncommon:true,
ifForbidden:false,
accessList:_.elemMatch(_.eq(userInfo._id))
}
])).watch({
onChange: function(snapshot) {
console.log('snapshot',snapshot)
Toast.clear()
},
onError: function(err) {
console.error('the watch closed because of error', err)
}
})
虽然快照返回了,但是docs字段不更新,我不知道为什么。发生改变的字段是查询条件(比如ifForbidden),但是按照watch机制,一条记录的跟查询条件有关的字段如果发生改变,那么这条记录的queueType应该是enqueue或者是dequeue才对吧?但我不管字段是否符合查询条件,都是update。换句话说,不管我对集合数据怎么修改,snapshot.docs的内容都是init时候的内容。