前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >让上次犯的错反省出梦想,记一次云小程序写入数据错误

让上次犯的错反省出梦想,记一次云小程序写入数据错误

原创
作者头像
谭广健
修改2021-06-16 18:11:11
修改2021-06-16 18:11:11
29300
代码可运行
举报
文章被收录于专栏:谭广健的专栏谭广健的专栏
运行总次数:0
代码可运行

在开发一个云小程序做聚合统计的时候发现统计出现问题,聚合统计的语句

代码语言:javascript
代码运行次数:0
复制
  db.collection('Net_Log')
     .aggregate()
     .match({idk: '20210616'})
     .group({
      _id: '$meal',
      count: $.sum('$people')
     })
     .end()

由于其中的$people是字符串,所以得出的结果为0;本来以为可以通过云数据进行转换;MSSQL是可以通过字段转换CAST。但遗憾的是小程序云数据库竟然没有。。没有。。没有。。那怎么办。想到的旧数据的解决办法是通过Update通过新增一个数据段进行处理,但这样也不是办法,要从源头上进行解决。好在当时在开发的时候直接使用云函数进行写库。

代码语言:javascript
代码运行次数:0
复制
 const db = wx.cloud.database();
    db.collection('Net_Log').add({
      data: {
        Name: Name,
        idk: idk,
        meal: meal,
        Type: Type,
        Mobile: Mobile,
        InTime: timestamp,
        people: people//<!----这个明明是数字,但写库的时候竟然变成字段。
      },
      success: res => {
        wx.showToast({
          title: '订餐成功',
        })
        let ditem = this.data.ditem;
        ditem.push(meal + "$" + people);
        this.setData({
          ditem: ditem
        })
        wx.setStorage({
          key: "ditem",
          data: ditem
        });
        util.go_home();
      },

好吧,怎么在根源是解决呢?其实很简单,就直接在写入的时候加入Number()。。即可!

简单快捷,所以在写入数据时一定要注意数值的类型,要不真是挖坑。。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档