云函数连表查询语句问题?
有两张表 ,一个是问题表,一个是收藏表,怎么在查询的时候查出这个问题表里用户是否收藏过,查询要做分页的
4 回复
用 lookup 连起来就可以。
let OPENID = '用户 OpenID';
let count = 20; // 获取数据数量
let page = 1; // 获取数据的页面号
// 文章表为:articles,收藏表为:saves。
let res = await db.collection("saves").aggregate().project({ _id: 0 })
.match({ _openid: OPENID }).limit(count).skip((page - 1) * count)
.lookup({
from: 'articles',
localField: '_article',
foreignField: '_id',
as: 'list'
})
.replaceRoot({
newRoot: $.mergeObjects([ $.arrayElemAt(['$list', 0]), '$$ROOT' ])
})
.project({ list: 0 })
.end();