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

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

一、遇到问题描述

在云数据库中存在表字段[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 | 微信开放文档

目录
相关文章
|
23天前
|
缓存 数据库 数据安全/隐私保护
Discuz! X 数据库字典详解:DZ各数据表作用及字段含义
我们使用DISCUZ做网站时,有时需要对数据表进行操作,在操作数据表之前,需要对数据表进行了解。下面是DISCUZ 数据库各数据表作用及字段含义详解,方便新手更好的了解DISCUZ数据库。
45 4
|
2月前
|
SQL 关系型数据库 MySQL
MySQL数据库中给表添加字段并设置备注的脚本编写
通过上述步骤,你可以在MySQL数据库中给表成功添加新字段并为其设置备注。这样的操作对于保持数据库结构的清晰和最新非常重要,同时也帮助团队成员理解数据模型的变化和字段的具体含义。在实际操作中,记得调整脚本以适应具体的数据库和表名称,以及字段的详细规范。
57 8
|
2月前
|
JSON 数据库 数据格式
数据库表如果有json字段,该怎么更新
数据库表如果有json字段,该怎么更新
|
3月前
|
数据库
实体类的字段和数据库中的字段不一致、并且没有做中间替换、会发生什么
这篇文章讨论了实体类字段与数据库字段不一致时可能导致的问题,作者通过实际案例展示了字段不匹配时查询无法正确执行,并说明了修正字段匹配后查询可以成功执行的情况。
实体类的字段和数据库中的字段不一致、并且没有做中间替换、会发生什么
|
3月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
3月前
|
存储 小程序 关系型数据库
原生小程序 获取手机号并进行存储到mysql数据库
原生小程序 获取手机号并进行存储到mysql数据库
|
4月前
|
数据库
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
|
4月前
|
SQL 关系型数据库 MySQL
支付系统----微信支付18-----创建并连接数据库
支付系统----微信支付18-----创建并连接数据库
|
4月前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
|
4月前
|
JavaScript 小程序 应用服务中间件
vue 本地/PC端访问微信云数据库
vue 本地/PC端访问微信云数据库
56 0