如何用云函数实现让数据库中的数据只存留一天?
发布于 7 年前 作者 guiying85 11445 次浏览 来自 问答

纠结了几天实在不会弄   请大神详细解答一下具体怎么编写     万分感谢

数据库中保留的有time是保存数据的时间

  • “time:”   "2019/11/30 09:03:19"


  • config.json  先每5秒触发一下 测试一下

{

“permissions”: {

“openapi”: [

]

},

// triggers 字段是触发器数组,目前仅支持一个触发器,即数组只能填写一个,不可添加多个

“triggers”: [

{

// name: 触发器的名字,规则见下方说明

“name”: “autoDelete”,

// type: 触发器类型,目前仅支持 timer (即 定时触发器)

“type”: “timer”,

// config: 触发器配置,在定时触发器下,config 格式为 cron 表达式,规则见下方说明

“config”: “*/5 * * * * * *”

}

]

}

云函数

// 云函数入口文件

const cloud = require(‘wx-server-sdk’)

cloud.init()

const db = cloud.database()

const _ = db.command

// 云函数入口函数

exports.main = async (event, context) => {

let timeOfOneDayAgo = Date.now() - 24 * 60 * 60 * 1000

await db.collection(‘orders’).where({ time: _.lt(timeOfOneDayAgo) }).remove()

}

3 回复

你数据库存的是字符串的,然后你判断用了时间戳。这咋可以

可以  请问怎么编写   怎么判断大于24小时??

查询的时候只查询24小时内的数据,然后定时器每天0点的时候触发一次删除大于24小时的数据,可以满足需求么?

回到顶部