fs.files集合中的内容
{
"_id" : 文件ObjectId, 【默认索引字段】
"length" : 文件描述文档大小,
"chunkSize" : 文件大小,
"uploadDate" : 上传时间, 【默认索引字段】
"md5" : 废弃的字段,无视即可,
"filename" : 文件名【清理策略中用做文件类型】
"contentType" : 废弃的字段,无视即可,
"aliases" : 废弃的字段,无视即可,
"metadata" : 文件描述信息【清理策略中用做清理区分条件】
}
例如:商品图片
{ ...... "filename" : “商品图片” "metadata" : { ...... "商品类型":"洗浴用品", "date":"20201011" } } | { ...... "filename" : “商品图片” "metadata" : { ...... "商品类型":"办公用品", "date":"20201011" } } | { ...... "filename" : “商品图片” "metadata" : { ...... "商品类型":"玩具", "date":"20201011" } } |
文件清理策略
任务ID | 任务名 | 定时cron表达式 | metadata | 文件类型 | 保留时间 毫秒数 |
1 | 办公用品图片清理策略 | * * * * * ? | { ...... "商品类型":"办公用品" } | 商品图片 | 36000 |
2 | 洗浴用品图片清理策略 | * * * * * ? | { ...... "商品类型":"洗浴用品" } | 商品图片 | 72000 |
使用方式
- 启动时加载文件清理策略配置表
- 根据cron表达式启动定时任务
- 到达指定时间后执行通用清理task。task工作:
- 根据metadata、文件类型、保留时间生成指定查询语句
- 根据查询语句使用 gridFsTemplate删除指定files集合中内容