小程序云函数用pipeline的project筛选联表字段

本文介绍了一个使用微信云函数(Wx-Server-SDK)在MongoDB中执行联表查询和字段投影的具体实例,展示了如何通过`lookup`和`aggregate`方法从主表`主表a`中关联`联表b`的数据并进行选择性展示。
摘要由CSDN通过智能技术生成

苦恼于联表字段,学习了论坛上前辈文章,下面代码测试成功:

// 云函数入口文件

const cloud = require('wx-server-sdk')

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

// 云函数入口函数

exports.main = async function (event, context) {

    const db = cloud.database()

    const _ = db.command

    const $ = _.aggregate

    return await db.collection('主表a').aggregate() 

      .lookup({ 

        from: '联表b', 

        let: {

          a的ID: '$a的ID', // 主表的

        },

        pipeline: $.pipeline()

          .match(_.expr($.and([

            $.eq(['$b的ID, '$$a的ID']) //关联匹配

          ]))) .project({

            b表字段x: 0 //0为隐藏,1为显示,

            b表字段y: 0 //0为隐藏,1为显示

          })

          .done(),

        as: 'binfo' // 随便你喜欢的名字,存放筛选出b表的字段

      })

      .end()

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值