问题描述:
在同一个云函数中两次查询不同的数据库,然后比较两次查询结果,进行后续操作。但是第二次查询的结果总是为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" } } } |
代码定位:
不胜感激!!
单独用没问题的话,可以分开写然后调用试试看?