一、遇到问题描述
在云数据库中存在表字段[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 | 微信开放文档