微信云开发--云函数--联表查询( lookup 的使用方法详解)

简介: 微信云开发--云函数--联表查询( lookup 的使用方法详解)

业务场景分析

小安向大家分享推荐了电视剧《觉醒年代》,朝阳为其点了个赞

因每个用户能分享推荐多个数据,每个数据又能被多个用户点赞,此为典型的多对多(N 对 N) 的数据关系,于是,此处可设计两个表,recommend表存储分享推荐的数据,agree 表存储用户对推荐内容的点赞。

recommend 表 – 推荐内容表

agree 表 – 用户对推荐内容的点赞


需求描述

在查询分享推荐列表时,需同时查询出每条分享推荐有哪些人点赞,并将点赞人的昵称展示在列表中。

实现方案:通过云函数进行联表查询

常规的微信云数据库查询无法实现联表查询,需借助云函数

创建云函数 getData_recommend

cloudfunctions\getData_recommend\index.js

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

cloud.init({
  // 使用当前云环境
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  // 主表 recommend
  return cloud.database().collection("recommend")
    .aggregate()
    .lookup({
      // 外表 agree
      from: "agree",
      // recommend 表中的_id
      localField: '_id',
      // agree 表中的 targetID
      foreignField: 'targetID',
      // 从 agree 表中查询到的用户数据,通过 agreeInfo 字段返回
      as: 'agreeInfo'
    }).limit(1).end()
    .then(res => {
      return res
    })
}

cloudfunctions\getData_recommend\package.json

{
  "name": "getData_recommend",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "wx-server-sdk": "~2.6.3"
  }
}

在获取目标推荐列表时,调用云函数 getData_recommend 即可得到需要的数据啦!

目录
相关文章
|
7月前
|
小程序 前端开发 数据可视化
微信小程序云开发入门教程-全局文件介绍
微信小程序云开发入门教程-全局文件介绍
|
2月前
|
小程序 开发工具
微信小程序云开发的开通
微信小程序云开发的开通
56 0
微信小程序云开发的开通
|
5月前
|
存储 小程序 API
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
90 0
【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
|
5月前
|
小程序 JavaScript 安全
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
201 0
|
5月前
|
小程序 数据库
【微信小程序-原生开发】实用教程15 - 列表的排序、搜索(含云数据库常用查询条件的使用方法,t-search 组件的使用)
【微信小程序-原生开发】实用教程15 - 列表的排序、搜索(含云数据库常用查询条件的使用方法,t-search 组件的使用)
127 0
|
5月前
|
小程序 JavaScript
【微信小程序-原生开发】实用教程11 - 用户登录鉴权(含云函数的创建、删除、使用,通过云函数获取用户的openid)
【微信小程序-原生开发】实用教程11 - 用户登录鉴权(含云函数的创建、删除、使用,通过云函数获取用户的openid)
83 0
|
5月前
|
存储 小程序 数据库
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
75 0
|
5月前
|
小程序
【亲测有效】3步实现 微信小程序内接入小程序客服,网页端客服工具与移动端小程序客服工具使用方法,使用入口,并设置当前客服状态
【亲测有效】3步实现 微信小程序内接入小程序客服,网页端客服工具与移动端小程序客服工具使用方法,使用入口,并设置当前客服状态
518 0
|
7月前
|
小程序 数据库
【微信小程序7】云开发中实时聊天系统的实现方法
【微信小程序7】云开发中实时聊天系统的实现方法
137 0
|
7月前
|
存储 小程序 数据库
微信小程序云开发入门教程-服务开通
微信小程序云开发入门教程-服务开通