遇到同样的问题,文档中没有这个问题的描述,并没有提到客户端不能lookup,被lookup的数据都是有权限的。
lookup bug 报错 errMsg: Permission denied 权限设置没问题小程序端代码如下: 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-22