美文网首页
常用技术点备忘

常用技术点备忘

作者: 止风者 | 来源:发表于2016-05-28 23:04 被阅读0次

    人老了,记性不好了,而且技术日新月异,语法改变的也太快了,需要做一些备忘。

    数据库查询,返回结果的判断:

    如果你用find(),去做查询,返回的结果集是result, err 返回的是错误,但查询结果为空,并不是err!当返回结果为空时, result = []; 所以判断查询结果是否为空时,应该写为:

    if(result[0]){//返回的数组第一个有值,才说明有真正的有意义的记录返回
    }
    else{//这里表示,返回的查询结果为空,也就是没有符合条件的记录
    }
    

    判断元素是否为空

    isObjectEmpty( varname);
    

    一般用于数组、集合、变量未附值的判断;

    脚本的调用

    var cmd="/home/vchannel/shell/check_sys.sh disk";
    callfile.exec(cmd,function(err,stdout,stderr)
    {    
       if(err) {        
               console.log('执行脚本出错:',err);    }
          else { //脚本执行成功    
          var ret = eval(stdout);//将返回的字符串信息,转化为数组形式        
          res.status(200).json(ret); 
         }
    });
    

    其中,check_sys.sh是脚本文件,disk是传递给脚本文件的参数;
    返回的数据信息是数组形式的字符串,通过 eval()可转换成数组;

    eval(string)

    eval(string)函数可计算某个字符串,并执行其中的JavaScript代码。
    即string 的内容可以是一个计算公式或代码,eval()可以获得其执行的结果。

    参数:string;描述:要计算的字符串,其中含有要计算的JavaScript表达式或要执行的语句。

    日期的格式化字符串生成

    var set_d = new Date();    //获得当前日期
    v = {};
    set_d.setDate(d.getDate() + i); //日期+几天
    v.y = set_d.getFullYear();
    v.m = set_d.getMonth() + 1;
    v.d = set_d.getDate();  
    v.datestr = sprintf("%d-%02d-%02d",v.y, v.m, v.d); //格式化成2016-05-01形式,便于通过字符形式比较大小

    相关文章

      网友评论

          本文标题:常用技术点备忘

          本文链接:https://www.haomeiwen.com/subject/qcxqdttx.html