【微信小程序】【数据库】【聚合】能否先输出统计数值count,再输出聚合结果?
const res = await db_contract.where({
countrys:event.countrys
}).count()//先获取符合结果的数量
e.total = res.total
if(e.total!=0){
await db_contract.aggregate()
.lookup({
from:'MC_users',
localField: 'no',
foreignField: 'no',
as: 'user',
}).match({//匹配结果
reach:false,
countrys:event.countrys
}).sort({
_id:1
}).//COUNT()这样不行
.skip(event.start)
.end()
.then(r => {//返回匹配值,数据量大于20
e.list = r.list
console.log(r)
})
.catch(err =>{
e.errCode = err.errCode
console.error(err)
})
这是我现在在用的代码,但是这样有点蠢,我只想要个计数和匹配数组,但是却做了两次查询,有没有什么办法能整合到一起吗?