clear database job
1.0.0
该项目是在nodejs(JavaScript)中进行的,以执行一个cronjob以删除MongoDB或Scylladb中的文档,与查询匹配!
该项目的存在是为了帮助开发人员或数据库管理员,有另一种删除旧文档的方式,这不是必需的!
在TTL中,当索引字段的值比当前日期更古老时,将删除文档!
例子:
WebhookSchema = {
event : {
type : String ,
} ,
body : {
type : Object ,
} ,
created_at : {
type : Date ,
expiryAfterInSeconds : 3600 , // 1 Hour
} ,
}
// ...
console . log ( Webhook . findOne ( { } ) )
// Output
{
event : 'paid' ,
body : {
...
} ,
created_at : '2024-03-01T16:23:19.655Z' ,
}在将来删除此文档,当前日期必须为2024-03-01T17:23:19.655Z或更多新的,例如2024-03-01T17:30:19.655Z !
但是,如果您需要删除文档,则需要另一个规则为真时,您将使用此项目!
该项目是在Nodejs(LTS)中进行的,并使用MongoDB(官方驱动程序)连接并删除指定的文档!
要使用此项目,您需要克隆此,运行以下命令:
git clone https://github.com/ramonpaolo/clear-job在进行项目之前,您可能需要配置.env!您可能需要将.env.example重命名为.env !
afther cofngiure .env ,您可以运行docker-compose或脚本。
| 环境变量 | 类型 | 必需的 | 例子 | 可能的值 | 默认值 |
|---|---|---|---|---|---|
| project_name | 细绳 | 是的 | “ cronjob” | * | |
| app_name | 细绳 | 是的 | “ cronjob” | * | |
| node_env | 细绳 | 不 | “发展” | * | |
| execute_when_init | 细绳 | 不 | “真的” | “ true”,“ false” | “错误的” |
| execute_every_time | 数字 | 不 | 5 | * | 60 |
| execute_time_unit | 细绳 | 不 | “秒” | “秒”,“分钟”,“小时”,“天”,“几个月”,“年” | “分钟” |
| mongo_password | 细绳 | 不 | “测试” | * | |
| mongo_username | 细绳 | 不 | “测试” | * | |
| mongo_url | 细绳 | 是的 | “ mongodb:// test:test@mongo” | * | |
| Database_name | 细绳 | 是的 | “测试” | * | |
| collection_name | 细绳 | 是的 | “ webhooks” | * | |
| field_date | 细绳 | 是的 | “创建_at” | * | |
| 可选_QUERIES | 细绳 | 不 | “ {“ env”:“ development”}“” | * | “ {}” |
| delete_documents | 细绳 | 不 | “真的” | “ true”,“ false” | “错误的” |
您可以在成功执行工作或错误执行时通过SendGrid发送电子邮件!
要启用此功能,您只需要2件事:1-拥有一个sendgrid帐户2-配置以下内容:
| 环境变量 | 类型 | 必需的 | 例子 | 可能的值 | 默认值 |
|---|---|---|---|---|---|
| notification_provider | 细绳 | 是的 | “ sendgrid” | “ sendgrid” | |
| sendgrid_api_key | 细绳 | 是的 | * | ||
| to_email | 细绳 | 是的 | * | ||
| 来自_Email | 细绳 | 是的 | * |