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

建网站可行性分析网站制作公司嘉兴

建网站可行性分析,网站制作公司嘉兴,网页版微信仅传输文件,免费wordpress采集插件【mongodb文档字符串批量替换脚本语句】 前言#xff1a; 1、本方式对于数据量大的情况不适用#xff0c;执行可能比较慢#xff1b; 2、数据量大的情况#xff0c;个人推荐代码层面解决#xff0c;多线程替换更快#xff1a; #xff08;1#xff09;写实体类的方式…【mongodb文档字符串批量替换脚本语句】 前言 1、本方式对于数据量大的情况不适用执行可能比较慢 2、数据量大的情况个人推荐代码层面解决多线程替换更快 1写实体类的方式查询全量list也可分批次查 2遍历多线程处理将单个实体类转JSON字符串替换完再转回实体类再save。 3、重要提醒操作前一定先备份好数据。。。 一、参考方式一eval不推荐 1语句内容 // 旧的链接 const oldArr [ WWW.XXXXX.COM ,www.xxxxx.com ];// 新的链接 const newStr www.hahahhaha.com;// ************** 【1】 示例文档aa_文档名称_001 db.aa_文档名称_001.find().forEach(function(e) {// 替换oldArr.forEach(function(item) {const reg eval(/ item /g);e.字段111 JSON.parse(JSON.stringify(e.字段111).replace(reg, newStr))e.字段222 JSON.parse(JSON.stringify(e.字段222).replace(reg, newStr))});db.aa_文档名称_001.save(e); }); 2eval不推荐原因摘自百度AI智能回答 -‌--安全隐患‌eval函数允许执行任意JavaScript代码这可能导致严重的安全漏洞。如果执行的代码来自不可靠的来源比如用户输入攻击者可以利用这一点执行恶意代码从而窃取数据、破坏系统或获得不受限制的访问权限‌12。 -‌--性能问题‌eval通常比其他方法慢因为它需要解析和编译代码。在处理大量数据时使用eval可能会导致性能下降影响系统的响应速度和效率‌2。 -‌--全局锁问题‌在MongoDB 4.0及以后的版本中eval命令被逐步弃用主要是因为其全局锁机制。在运行脚本时eval会锁定整个数据库阻止所有其他操作这会影响数据库的并发性能和稳定性‌23。 -‌--替代方案的存在‌MongoDB提供了其他更安全和高效的替代方案如使用聚合框架进行复杂的数据处理或者使用事务支持来确保数据的一致性这些方法不需要全局锁且性能更好‌23。 -‌--MongoDB版本更新对eval的影响‌ 在MongoDB 4.2及以后的版本中Mongo shell现在只接受db.eval命令在与4.0或更早版本的服务器一起工作时使用。这意味着在未来的版本中eval命令可能会被完全移除‌23。 ---综上所述由于安全隐患、性能问题和全局锁等问题MongoDB不推荐使用eval并提供了更安全的替代方案来处理复杂的数据操作和确保数据一致性。二、参考方式二RegExp推荐 1语句内容 const urlMap new Map(); urlMap.set( www.aaaaa.cn, www.AAAAA.com); urlMap.set( www.bbbbbbb.com, www.BBBBBBB.com);// 预先创建正则表达式对象如果需要的话这里也可以不用正则表达式而是使用简单的字符串替换 const regexMap new Map(); urlMap.forEach((value, key) {// 注意这里我们没有转义点字符因为假设key不会包含正则表达式特殊字符// 如果key可能包含正则表达式特殊字符请相应地转义它们regexMap.set(key, new RegExp(key, g)); });// ************************* 【1】 示例文档myDoc1 db.myDoc1.find().forEach(function(doc) {// ****** 1数组中的字段if (Array.isArray(doc.xxxItems)) {doc.xxxItems doc.xxxItems.map(item {if (item.pic typeof item.pic string) {// 遍历所有正则表达式进行替换let newPic item.pic;regexMap.forEach((regex, key) {newPic newPic.replace(regex, urlMap.get(key));});item.pic newPic;}// 如果不是字符串直接返回原值return item;});}// ****** 2数组 - 数组 - 字段if (doc.aaaItems Array.isArray(doc.aaaItems)) {doc.aaaItems doc.aaaItems.map(ddd {if (ddd.shippingItems) {ddd.shippingItems ddd.shippingItems.map(sItem {if (sItem.pic typeof sItem.pic string) {// 遍历所有正则表达式进行替换let newPic sItem.pic;regexMap.forEach((regex, key) {newPic newPic.replace(regex, urlMap.get(key));});sItem.pic newPic;}return sItem;});}// 如果不是字符串直接返回原值return ddd;});}// 更新文档并保存db.myDoc1.save(doc); });// ************************* 【2】 示例文档myDoc555 db.myDoc555.find().forEach(function(doc) {if (Array.isArray(doc.aiItems)) {doc.aiItems doc.aiItems.map(item {if (item.pic typeof item.pic string) {// 遍历所有正则表达式进行替换let newPic item.pic;regexMap.forEach((regex, key) {newPic newPic.replace(regex, urlMap.get(key));});item.pic newPic;}// 如果不是字符串直接返回原值return item;});// 更新文档并保存如果实际上有更改db.myDoc555.save(doc);} });// ************************* 【3】 示例文档myDoc666 db.myDoc666.find().forEach(function(doc) {regexMap.forEach((regex, key) {if (doc.imageUrl typeof doc.imageUrl string) {doc.imageUrl doc.imageUrl.replace(regex, urlMap.get(key));}});// 更新文档并保存如果实际上有更改db.myDoc666.save(doc); });
http://www.tj-hxxt.cn/news/223320.html

相关文章:

  • 网站建设的报告分析电商平面设计岗位职责
  • 这种资源网站怎么做才赚钱韶关手机网站建站
  • 国外做建材的网站有哪些广州游戏网站建设
  • 微信红包建设网站google入口
  • 做网站数据分析架构中国建设银行网址多少
  • 垣曲网站建设朝阳网站建设 国展
  • 建设银行网站定酒店网站关联页面如何做
  • 电视台网站建设淮安市汽车网站建设背景
  • 做网站用服务器wordpress quora
  • 湘潭网站建设 干净磐石网络淘宝运营公司
  • 做网站工作职责网络游戏电脑
  • 私人做网站需要多少钱网站建设与维护课难吗
  • 中标公示查询网站ui设计比较成功的网站页面
  • 山西响应式网站建设制作互联网平台公司有哪些
  • vue 做自适应网站西宁做网站的公司旭云网络
  • 重庆怎么制作网站?百度云搜索引擎入口百度网盘
  • 厦门 网站建设 网站开发传奇世界网页版官网
  • 郑州网站建设蝶动劲松网站建设
  • 陕西住房和城乡建设部网站建设部网站在哪里看受理
  • 做网站页面一般设置多大尺寸一人开公司做网站创业
  • 做网站后有人抢注关键词网站模块是什么意思
  • 沈阳网站建设莫道网络wordpress 加图片
  • 做网站纸箱关键词wordpress 中文图片无法显示
  • 关于加强公司网站建设的通知请大学生做网站
  • jsp网站开发详解网站建设需要的功能
  • 高阳县做企业网站中学生怎么做网站
  • 泗水县城乡建设局网站传统网站建设 成本
  • 网站做多宽怎样才能建网站
  • tv网站建设邢台人才网官网首页
  • 网站开发公司资讯东莞智通人才网招聘信息