当前位置: 首页 > news >正文

查询数据库上所有表用到图片和视频的数据,并记录到excel表

统计后台系统使用的数据库所有的表和字段用到的图片和视频。所以数据的图片和视频规范下图片和视频的前缀很重要,便于统计。数据的图片和视频地址经常有后缀,所以存储时建议存储去掉后缀的。
const ossProcessParams = [
‘?x-oss-process=video/snapshot,t_1000,m_fast’,
‘?x-oss-process=video/snapshot,t_1000,f_jpg’,
‘?x-oss-process=video/snapshot,t_2000,f_jpg’,
‘?x-oss-process=video/snapshot,t_3000,f_jpg’
];
查询数据库上所有表用到图片和视频的数据,并记录到excel表(数据库数据文件表)。
导入头文件:

const FspConstant = require('@app/tools/fsp_constant.js');
const Tool = require('@app/tools/common_tool.js');
const msgCode = require('@app/config/error_config.js');
const Excel = require('exceljs');
const fs = require('fs');
const fspTool = require('@app/connections/rent/fsp_tool.js');
const AdModel = fspTool.model('AdModel');
const fspUser = require('@app/connections/rent/fsp_user.js');
const CompanyAccountModel = fspUser.model('CompanyAccountModel');

具体实现代码:

//获取数据库的所有图片和视频地址
DeleteRepeatImageVideoTool.getDBImageVideoUrl = async function() {let allFiles = [];let adModelList = await AdModel.find({img: {$nin: [null, '', []]}}, '-_id img').lean().exec();adModelList.forEach(item0 =>{if(Tool.checkNotEmptArray(item0.img)){item0.img.forEach(item =>{if(Tool.checkNotEmptString(item)){allFiles.push({db_name: 'AdModel', url: item, field: 'img', field_str: JSON.stringify(item0.img)});}});}});let companyAccountModelList = await CompanyAccountModel.find({$or: [{business_license_url: {$nin: [null, '']}}, {logo_url: {$nin: [null, '']}}]}, '-_id business_license_url logo_url').lean().exec();companyAccountModelList.forEach(item =>{if(Tool.checkNotEmptString(item.business_license_url)){allFiles.push({db_name: 'CompanyAccountModel', url: item.business_license_url, field: 'business_license_url', field_str: JSON.stringify(item.business_license_url)});}if(Tool.checkNotEmptString(item.logo_url)){allFiles.push({db_name: 'CompanyAccountModel', url: item.logo_url, field: 'logo_url', field_str: JSON.stringify(item.logo_url)});}});allFiles = allFiles.filter(item => item.url && item.url.startsWith('https://test.oss-cn-hangzhou.aliyuncs.com'));if(Tool.checkNotEmptArray(allFiles)){let excel = Tool.makeExcel(allFiles, ['db_name', 'url', 'field', 'field_str'], {db_name: '数据库名称',url: '文件地址',field: '字段',field_str: '字段详情',});return {excel, fileCount: allFiles.length};}else{return {fileCount: 0};}
};
http://www.dtcms.com/a/601009.html

相关文章:

  • MUVERA:让RAG系统中的多向量检索像单向量一样高效
  • 数据分析笔记02:数值方法
  • 没有网站可以做cpa广告么自己怎么做网站优化
  • Spring Boot实现多数据源连接和切换
  • 【架构设计方法论】概念架构:系统设计的指路明灯
  • 将标签格式为xml的数据集按照8:2的比例划分为训练集和验证集
  • 实战派 JMeter 指南:核心功能、并发压测实操与常见问题解决方案
  • 宁晋网站建设地址信息采集平台
  • 17网站一起做网店如何下单下载站用什么网站系统
  • VMware替代 | ZStack ZSphere虚拟化平台金融级高可用能力解析
  • Go语言编译器源码 | 深入解析Go编译器的设计与实现原理
  • Bootstrap4 文字排版
  • 第13节 93年高能所被入侵,开启中国网络安全发展进程
  • [学习笔记] An Introduction to Flow Matching and Diffusion Models
  • 从零开始的Qt开发指南:(三)信号与槽的概念与使用
  • 视频网站怎么搭建wordpress站点标题图片
  • 加强学校网站建设的要求小说网站建设教程
  • 软考 系统架构设计师历年真题集萃(199)—— 2025年11月系统架构设计师真题2
  • 零门槛部署:在AMD MI300X上极速部署运行GPT-OSS 120B全流程实践
  • 视觉学习——理清机器学习:分类、流程与技术家族的关系
  • 建设网站为什么要备案只有一个页面的网站
  • 分布式专题——54 ElasticSearch集群架构生产最佳实践
  • python+django/flask的宠物用品系统vue
  • 网泰网站建设哪里可以引流到精准客户呢
  • 自相关和互相关、卷积计算流程演示
  • 淮安网站建设制作国精产品w灬源码1688说明
  • 探索K8s与AI的结合:PyTorch训练任务在k8s上调度实践
  • Linux操作系统学习之---初识网络
  • 怎么破解别人做的付费网站网络营销的应用研究论文
  • phpMyAdmin Docker 容器化部署指南