收藏
回答

如何用云函数实现让数据库中的数据只存留一天?

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

数据库中保留的有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 个回答

  • A🙃政
    A🙃政
    2019-12-02

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

    2019-12-02
    有用
    回复
  • We
    We
    2019-12-02

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

    2019-12-02
    有用
    回复 1
  • 拾忆
    拾忆
    2019-12-02

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

    2019-12-02
    有用
    回复
登录 后发表内容
问题标签