【微信小程序4】云数据库:如何把数组一次性写入数据库中

一、问题描述

        比如说,在前端页面需要录入三种水果的数量和价格,形成一个数组,存放在data对象中。那么,如何把这个数组,通过云函数,一次性写入到数据库中?

        data对象内容如下:

data: {
    dtlist: [{  //三种水果,对象数组,title对应数据库中字段
      name: '香蕉',
      number: 121,
      price: 2,
      date: '2021-01-09',
    }, {
      name: '西瓜',
      number: 212,
      price: 1,
      date: '2021-01-09',
    }, {
      name: '橘子',
      number: 321,
      price: 2,
      date: '2021-01-09',
    }]
  },

二、云函数端写法

        在could的functions中创建名为addtst的云函数文件。并在该文件中定义写入数据库方法,部分代码如下:

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const db = cloud.database()
  return await db.collection('tst').add({ //tst-云数据库名
    data: event.dtlist  //对象数组
  })
}

         修改完成后,一定要记得点击上传,才能让修改后的文件生效。

三、前端调用云函数

        在微信前端页面中,需要用到云函数的地方,通过wx.cloud.callFunction()来实现对addtst云函数的调用,通过其中name属性指定要调用的云函数名。具体调用云函数写法如下:

  writeDataTODbase() {//把数据写入到数据库中
    wx.cloud.callFunction({
      name: 'addtst',//云函数名
      data: {
        dtlist: this.data.dtlist  //对象数组
      }
    }).then(res => {
      console.log('数组写入成功:', res)
    }).catch(res => {
      console.log('数组写入失败:', res)
    })
  }

四、返回结果如下:

        通过以上操作可以看到最终能成功返回结果。如图所示。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ai安歌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值