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

室内设计网站源码下载高端营销型网站制作

室内设计网站源码下载,高端营销型网站制作,WordPress文章过滤,网站建设设计公司哪家好【mongodb文档字符串批量替换脚本语句】 前言: 1、本方式对于数据量大的情况不适用,执行可能比较慢; 2、数据量大的情况,个人推荐代码层面解决,多线程替换更快: (1)写实体类的方式…

【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);
});

(2)eval不推荐原因(摘自百度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.zhongyajixie.com/news/33180.html

相关文章:

  • 怎么做有邀请码的网站seo专员招聘
  • 公安备案交互式网站网络销售平台有哪些
  • 装饰网站建设公司免费大数据网站
  • 做网站要注意的衡阳百度推广公司
  • 做B2B网站如何盈利网络营销的策略包括
  • 兄弟网站建设软文发布平台媒体
  • 做的网站怎么放到域名免费外链发布平台
  • 垂直门户网站的盈利模式探讨整站seo优化哪家好
  • 做去自己的网站首页重庆森林经典台词梁朝伟
  • 营销型网站怎么做策划营销推广方案
  • 听完米课做的网站深圳网站建设公司
  • 专题网站建设自查整改报告国内真正的永久免费建站
  • 网站宣传营销潍坊网站收录
  • 上海市网站建佛山seo技术
  • 如何做360购物网站西地那非片多少钱一盒
  • 芜湖网站开发兰州网站seo服务
  • 长沙网站建设百度官网入口
  • 跨境独立站有哪些平台如何做网站设计
  • 免费拍卖网站模板企业邮箱注册申请
  • 对网站进行seo优化品牌宣传方式
  • 济南科技网站建设推广自己的网站
  • 宜春做网站的联系电话青岛优化网站关键词
  • 安徽设计网站建设黑帽seo教程
  • 网站 二级域名需要备案吗网络营销软件下载
  • 销售类网站开发附近哪里有计算机培训班
  • 网站建设评审标准麒麟seo
  • 网站建设合同纠纷 延期 没有完成免费网站分析seo报告是坑吗
  • 响应式网站源码下载深圳关键词推广
  • 医疗器械商标旺道seo优化
  • 做直播的在相亲网站交友企业网站是什么