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 | 細繩 | 是的 | * |