收藏
回答

lookup bug 报错 errMsg: Permission denied 权限设置没问题

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 微信iOS客户端 wx5d9923b481c8e182 2.9.4

小程序端代码如下:


var res = await db.collection('collection')
.aggregate()
.lookup({
  from'article',
  localField: 'article_id',
  foreignField: '_id',
  as'article_info',
})
.limit()
.skip( * (this.data.page - ))
.end();


collection权限设置是仅创建者可读写,article权限设置设置为所有者可读,创建者可写


以上查询报错为:

Uncaught (in promise) Error:errCode:-502003 database permission denied | errMsg: Permission denied


然后把代码修改成:

var res = await db.collection('collection')
.aggregate()
.limit()
.skip( * (thisdata.page - ))
.end()


正常返回数据


单独查询article数据也能正常返回数据,代码如下:

let res = await db.collection('article').limit(10).skip(10 * (this.data.page - )).get();




怀疑还是权限问题,把article权限修改为所有人可读写,结果还是报错

Uncaught (in promise) Error:errCode:-502003 database permission denied | errMsg: Permission denied


改用服务端调用数据能正常返回数据

  varres = await db.collection('collection')
    .aggregate()
    .match({
      _openid:openid,
      cate_id: cate_id
    })
    .lookup({
      from: 'article',
      localField: 'article_id',
      foreignField: '_id',
      as: 'article_info',
    })
    .limit(num)
    .skip(num * (page - 1))
    .end();



请问应该怎么设置,哪里的权限设置有问题

最后一次编辑于  2019-12-20
回答关注问题邀请回答
收藏

2 个回答

  • 邓坤力
    邓坤力
    01-16

    lookup 不能在小程序端运行

    01-16
    赞同
    回复
  • 吴山
    吴山
    2019-12-22

    遇到同样的问题,文档中没有这个问题的描述,并没有提到客户端不能lookup,被lookup的数据都是有权限的。

    2019-12-22
    赞同
    回复
登录 后发表内容
问题标签