Javascript 多字符串替换函数在nodejs中不起作用

Javascript 多字符串替换函数在nodejs中不起作用,javascript,node.js,json,node-mysql,Javascript,Node.js,Json,Node Mysql,这里我需要替换多个文件中的租户id,输入来自json对象,为1 这是替换租户id的第一个文件: 这里,第一个租户id替换为1,第二个租户id不替换 替换字符串的代码: const dirPath = path.join(__dirname + '/script/') filenames = fs.readdirSync(dirPath) filenames.forEach(files => { file = fs.readFileSync(dirPa

这里我需要替换多个文件中的租户id,输入来自json对象,为1

这是替换租户id的第一个文件:

这里,第一个租户id替换为1,第二个租户id不替换

替换字符串的代码:

  const dirPath = path.join(__dirname + '/script/')

  filenames = fs.readdirSync(dirPath)

  filenames.forEach(files => {
            file = fs.readFileSync(dirPath + files, { encoding: 'utf8', flag: 'r' })

            fileReplace = file.replace("#tenant_id#", new_tenant_id)
            logger.log('silly', 'tenantOnBoard : tenant_id replace : Start ' + fileReplace);

             const queryCreateTenant = conPool.query(fileReplace)
             console.log(queryCreateTenant);
}
这是替换字符串的代码,这里的op是

INSERT INTO mst_designation (designation_nametenant_id)
SELECT designation_name,#tenant_id# tenant_idFROM mst_designation  mdes
WHERE tenant_id = -1 
AND NOT EXISTS (SELECT 1 FROM mst_designation 
WHERE designation_name = mdes.designation_name AND tenant_id = #tenant_id#);
第二位的租户id未替换
如何解决此问题

这是javascript中的预期行为。要多次替换字符串,可以使用带有g标志的RegExp:

fileReplace=file.replace/tenant\u id/g,新的租户\u id
这是javascript中的预期行为。要多次替换字符串,可以使用带有g标志的RegExp:

fileReplace=file.replace/tenant\u id/g,新的租户\u id 你必须使用replaceAll

var query=插入mst\u名称、租户\u id+ 从mst_指定mdes中选择指定名称、租户id和租户id+ 如果租户id=-1且不存在,则从mst_名称中选择1,其中名称名称=+mdes.designation_名称和租户id=租户id; var fileReplace=query.replaceAlltenant\u id,新的\u替换的\u id console.logfileReplace您必须使用replaceAll

var query=插入mst\u名称、租户\u id+ 从mst_指定mdes中选择指定名称、租户id和租户id+ 如果租户id=-1且不存在,则从mst_名称中选择1,其中名称名称=+mdes.designation_名称和租户id=租户id; var fileReplace=query.replaceAlltenant\u id,新的\u替换的\u id
console.logfilereplace这是否回答了您的问题?这回答了你的问题吗?
INSERT INTO mst_designation (designation_nametenant_id)
SELECT designation_name,#tenant_id# tenant_idFROM mst_designation  mdes
WHERE tenant_id = -1 
AND NOT EXISTS (SELECT 1 FROM mst_designation 
WHERE designation_name = mdes.designation_name AND tenant_id = #tenant_id#);