node.js读取文件并写入数据库

1:引入var fs = require('fs')
2:读取

fs.readFile('D:\\File\\2019-08\\brand_info_new.json', function (error, data) {
        if (error) {
            // 在这里就可以通过判断 error 来确认是否有错误发生
            console.log('读取文件失败了')
        } else {
            console.log("----------------------------")
            data = JSON.parse(data.toString());
            var brank = [];
            var b = data[" Others"];
            for (var n in b) {
                var m = b[n];
                m.category_id = 15;
                brank.push(m);
            }
            ProductSetting.add_brank(brank,function (is_ok) {
                if(is_ok){
                    console.log("成功!");
                }else {
                    console.log("失败")
                }
            })
        }
    })

3:插入数据(注意点:a:处理sql插入数据中包含单引号问题引发报错,解决方案:REPLACE(yourstr,"’","’")。b:处理json数据解析出来含有[]或者“”的问题)

add_brank: function (params, callback) {
        var sql = 'insert into brand_info(category_id,main_brand,brand,created_time,image_array) values ';

        for (var i in params) {
            var m = params[i];
            sql += "(" + m.category_id + ",";
			//处理数据中包含单引号问题
            if (m.main_brand.indexOf("'") != -1) {
                sql += "REPLACE(\"" + m.main_brand + "\",\"'\",\"'\"),";
            } else {
                sql += "'" + m.main_brand + "',";
            }
            if (m.brand.indexOf("'") != -1) {
                sql += "REPLACE(\"" + m.brand + "\",\"'\",\"'\"),";
            } else {
                sql += "'" + m.brand + "',";
            }
            sql += "NOW(),";
            //处理json数据解析出来含有[]或者“”的问题
            if (util.isNotNull(m.image_array) && m.image_array != "[]") {
                sql += "'" + m.image_array + "')";
            } else {
                sql += 'NUll)'
            }
            if (i != params.length - 1) {
                sql += ",";
            }
        }
        easy_mysql.execute(sql, [], function (err, rs) {
            console.log("sql:" + sql);
            console.log("err:" + err);
            if (util.isNotNull(err) || rs.affectedRows < 1) {
                return callback(false);
            }
            return callback(true);
        })
    }

版权声明:本文为weixin_42171955原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。