【微信小程序2】云数据库:利用addField在返回记录中增加新字段

当需要在前端展示云数据库表中新增totalPrice字段时,可以通过使用数据库的Aggregate聚合功能实现。通过`addFields`方法动态计算字段,例如将`price`和`number`相乘得到`totalPrice`。在云函数中编写代码,调用`aggregate()`并使用`addFields()`,然后结束聚合操作。这样,前端调用云函数即可获取包含totalPrice的新记录。
摘要由CSDN通过智能技术生成

一、遇到问题描述

在云数据库中存在表字段[name,price,number,date],但是在前端页面展示时需要新增一个字段来显示totalPrice,怎么办?

二、解决办法

解决的方法很多。这里讲解利用addFiled在返回记录中增加新字段的方式。

首先,addField()语法为:

        Aggregate.addFields(object: Object): Aggregate

添加新字段到输出的记录。经过 addFields 聚合阶段,输出的所有记录中除了输入时带有的字段外,还将带有 addFields 指定的字段。【官方文档说明】

Tips:要明白Aggregate聚合到底是个什么东西,才能更好、更灵活的使用其中的方法和操作符。我个人的理解是:聚合就是把数据库中的记录按照一定的规则进行操作,最终形成新的集合,而这个集合可能仍旧是Aggregate,所以仍旧可以对新的集合进行聚合操作。

三、案例展示

2.1、云函数代码

// 云函数入口函数
exports.main = async (event, context) => {
  let db=cloud.database()
  let $ = db.command.aggregate
  return db.collection('tst').aggregate().addFields({ //添加新字段
    totalPrice:$.multiply(['$price','$number'])
  }).end()

}

2.调用云函数的代码

wx.cloud.callFunction({
      name:'juhe',//云函数名
    }).then(res=>{//成功
      console.log('res:',res)
    }).catch(res=>{//失败
      console.log('err:',res)
    })

3. 数据库记录 与  输出结果  的对比

    数据库中的记录                                                                          运行输出的记录

                                     

 记得多翻阅哦!

Aggregate聚合操作的官方地址:Aggregate | 微信开放文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ai安歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值