小程序云开发如何多表联查三表联查?

两表联查

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

const db = cloud.database()

// 云函数入口函数
exports.main = async (e, context) => {
  const { id } = e
  // 定义联表实例
  const data = await db.collection('lottery')
    .aggregate() 
    .match({ // match是根据活动id来查询到当前这个活动信息
      _id: id 
    })
    .lookup({
      from: 'lotteryStatus',
      localField: '_id',
      foreignField: 'lotteryId',
      as: 'lotteryStatus',
    })
    .end()
  return { data }
}

// return db.collection('A表').aggregate()
//     .lookup({
//       from: 'B表',
//       localField: 'A表关联的字段',
//       foreignField: 'B表关联的字段',
//       as: '匹配出的记录列表要存放的字段名',
//     }).end()

三表联查

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

const db = cloud.database()

// 云函数入口函数
exports.main = async (e, context) => {
  const { id } = e
  // 定义联表实例
  const data = await db.collection('lottery')
    .aggregate() 
    .match({ // match是根据活动id来查询到当前这个活动信息
      _id: id 
    })
    .lookup({
      from: 'lotteryStatus',
      localField: '_id',
      foreignField: 'lotteryId',
      as: 'lotteryStatus',
    })
    .lookup({
      from: 'user',
      localField: 'userId',
      foreignField: '_id',
      as: 'user',
    })
    .end()
  return { data }
}

 

微信小程序开发交流qq群   829873465

承接微信小程序开发,扫码加微信

你可能感兴趣的:(微信小程序,小程序,javascript,vue.js)