【学习笔记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',
    }]
  },

二、云函数端写法

云函数addtst,写入数据库方法,代码如下:

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

三、前端调用云函数

调用云函数写法:

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

四、返回结果如下:

 

 


版权声明:本文为m0_60318025原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。