问题描述:
在同一个云函数中两次查询不同的数据库,然后比较两次查询结果,进行后续操作。但是第二次查询的结果总是为0,而单独查询则不会出现此问题。
代码如下:
// 云函数入口文件// 获取每一个id对应的点击限制:const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数exports.main = async (event, context) => { let { id, stuId, userInfo } = event; console.log("id: ", id); id = parseInt(id); let result = null; let id_max = 0; try { result = await cloud.database().collection('maxValueSet').where({ data: { id: id } }).get().then(res => { console.log("res.data: ", res.data[0].data.max_value); //可以得到结果 id_max = res.data[0].data.max_value; }); } catch (e) { return { code: 1, msg: e.message }; }; console.log("id_max: ", id_max); timeStamp_today = new Date().setHours(0, 0, 0, 0); timeStamp_today = parseInt(timeStamp_today); console.log("today is: ", timeStamp_today); let id_today = 0; try { result = await cloud.database().collection(stuId).where({ id: id, timestamp: cloud.database().command.gte(timeStamp_today) }).count().then(res => { console.log("res.data: ", res);//得到的结果总是为0---不知道为什么 id_today = res.total; }); } catch (e) { return { code: 1, msg: e.message } } console.log("id_today: ", id_today); if(id_max > id_today){ return { code: 0, data: "id_max > id_today" } }else{ return { code: 3, data: "id_max <= id_today" } } } |
代码定位:
不胜感激!!

单独用没问题的话,可以分开写然后调用试试看?