云函数中传入数据集合并查询添加修改操作?
在云函数中,传入了一个数据集合,遍历这个数据集合,查询数据库是否存在该数据,如果存在则修改该条数据,如果不存在则新增一条数据,遍历集合的话是异步的话,这几步操作怎么同步,目前代码是这样的,并不成功 目前代码是这样的,改了下,单条是可以的,还是 Promise 这个用的不对,求教,在线等 // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db =cloud.database() const _=db.command const result={ code:'', body:'' } // 云函数入口函数 exports.main = async (event, context) => { if(event.datalist!=null && event.datalist.length>0){ for(i=0; i < event.datalist.length; i++){ const rst=await db.collection("dailymenu").where({ datetime:event.datalist[i].datetime }).get(); await Promise.all(rst.data).then(res=>{ console.log(res) if(res.length>0){ updatemenu(event.datalist[i],res[0]).then(resupdate=>{ result.code=200; result.body=resupdate; //resolve(result) console.log(result); }) }else{ addmenu(event.datalist[i]).then(resadd=>{ result.code=200; result.body=resadd; //resolve(result) console.log(result); }) } }) } console.log("end") } } function addmenu(event){ console.log("update"); console.log(event); return db.collection('dailymenu').add({ data:{ datetime:event.datetime, menuinfo:event.menuinfo, } }) } function updatemenu(event,data){ console.log("update"); console.log(event); return db.collection('dailymenu').doc(data._id).update({ data:{ menuinfo:event.menuinfo, } }) }