我想实现一个所有用户积分记录每日定时刷新的功能,每晚12时要将当天所有用户的积分记录数组左移1位,末尾添 0表示前一天记分更新结束,后一天积分开始。
即
rate = [11, 22, 33, 44, 55, 66, 77]
变为
rate = [22, 33, 44, 55, 66, 77, 0]
现在我的实现是写了一个云函数,然后用corn机制触发。
但 在实际的 update 中出现一个问题,对同一个数组操作2次,好像只有最末一个 command操作是起作用的。
因而不能实现设想中的,去掉头元素,末尾添0的功能。
我的实现代码
const _ = db.command;
db.collection('rank').where({
}).update({
data: {
sevenrate: _.shift(),
sevenrate: _.push(0)
},
success: res => {
console.log(res.data);
}
})
请问该怎样解决这个问题,或者在云函数中实现上述功能
实现是没问题的,你要在客户端通过判断时间触发云函数。