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();
请问应该怎么设置,哪里的权限设置有问题