db.collection('biz-fav')
.where('user_set == 0 && status == 0')
.field('card,name,update_time')
.orderBy('update_time desc')
.getTemp(),
db.collection('biz-card')
.where('status == 0')
.field('_id,company,name,tel,product,fav_times,user_set,status,update_time')
.getTemp()
主表"read": true
副表"read": "(doc.status == 0)"
试了很多种写法,都提示权限不足,猜测是因为主表中取出的数据中外键指向副表的,副表的那条数据是status!=0的原因,但是如何写where才能避免这样呢?
PS:刚试了一下,老的虚拟联表的方法是可以查询到的,但是按照官方说法,主表数据量大的情况下,性能会很糟糕;
那么问题就是,新的临时表(getTemp)的方法只考虑了主表的过滤,而未考虑副表的过滤,如果副表需要过滤的情况下,使用临时表(getTemp)的方式是无法通过权限校验的,请问这是bug还是说有什么更深层次的考虑?
3 个回复
DCloud_uniCloud_WYQ
Bug已确认,感谢反馈
DCloud_uniCloud_WYQ
线上已修复,可以通过上传schema触发更新,HBuilderX内置的uniCloud插件会在下个版本修复
DCloud_UNI_Anne
HBuilderX Alpha 3.4.6 已修复