微信小程序连表查询lookup

已知有两个集合media和users,集合中的字段(users中的)_openid和(media中的)openid值相同

 

小程序页面js中调用云函数getMedia

  wx.cloud.callFunction({
      name: 'getMedia',
      data:{sort}
    }).then(res => {
      if(res.result) {
        this.setData({
          mediaData: res.result.list
        })
      }
     return 
    }).catch(err => console.log(err))

云函数中连表查询

const db = cloud.database();// 云函数入口函数
exports.main = async (event, context) => {
  let {sort} = event;
  return await db.collection('media').aggregate()//连表查询的集合media
  .lookup({
    from: 'users',//需要连表查询的另一个集合users
    localField: '_openid',//集合users中的值相同字段
    foreignField: 'openid',//集合media中值相同字段
    as: 'mediaArr'//为users中连表查询的结果取别名
  }).match({
    sort: sort//匹配要求,筛选
  }).end()
}

结束

posted @ 2024-01-31 15:40  yheyi  阅读(87)  评论(0编辑  收藏  举报