收藏
回答

请问为什么我调用云数据库的watch监听,能监听到记录变化,但是不会根据变化的字段更新docs?

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wx5120f2fb2a49ae2f cloud1-8gjd9zwgb1bff853 2.21.0
 const watcher =db.collection('equip_info').where(_.or([
          {
            ifUncommon:false,
            ifForbidden:false
          },{
            ifUncommon:true,
            ifForbidden:false,
            accessList:_.elemMatch(_.eq(userInfo._id))
          }
         ])).watch({
          onChangefunction(snapshot{
            console.log('snapshot',snapshot)
            Toast.clear()
          },
          onErrorfunction(err{
            console.error('the watch closed because of error', err)
          }
        })

虽然快照返回了,但是docs字段不更新,我不知道为什么。发生改变的字段是查询条件(比如ifForbidden),但是按照watch机制,一条记录的跟查询条件有关的字段如果发生改变,那么这条记录的queueType应该是enqueue或者是dequeue才对吧?但我不管字段是否符合查询条件,都是update。换句话说,不管我对集合数据怎么修改,snapshot.docs的内容都是init时候的内容。



最后一次编辑于  2022-01-20
回答关注问题邀请回答
收藏
登录 后发表内容