• mongodb和一些前端js的小方法笔记


    判断客户端,然后打开已经安装的app (安卓系统下)

    1.  
      var isIDevicePhone = (/iphone|ipod/gi).test(navigator.userAgent);
    2.  
      var isIDeviceIpad = !isIDevicePhone && (/ipad/gi).test(navigator.userAgent);
    3.  
      var isIDevice = isIDevicePhone || isIDeviceIpad;
    4.  
      var isAndroid = !isIDevice && (/android/gi).test(navigator.userAgent);
    5.  
      var ua = navigator.userAgent.toLowerCase();
    6.  
      var isWeixin = ua.match(/micromessenger/gi);
    7.  
      if(isAndroid && !isWeixin) {
    8.  
      window.location="nihao://nihao";//打开某手机上的某个app应用
    9.  
      }
    10.  
       
    11.  
      <intent-filter>
    12.  
                      <action android:name="android.intent.action.VIEW" />
    13.  
                      <category android:name="android.intent.category.BROWSABLE" />
    14.  
                      <category android:name="android.intent.category.DEFAULT"/>
    15.  
                      <data android:scheme="nihao" android:pathPrefix="/nihao" />
    16.  
                  </intent-filter>

    mongodb的属性为对象的字段property,对property对象里再次添加一些属性,并将属性赋值

    • 遍历property对象的属性(名称为汉字的方法) property[item]
    • 根据_id查询条件修改property
    1.  
      var person = db.getCollection("").find({});
    2.  
       
    3.  
      person.forEach(function(event) {
    4.  
      print(event.variables.recordId +" "+ event.word);
    5.  
      var property;
    6.  
      db.getCollection("").find({"recordId":NumberLong(event.variables.recordId)}).forEach(function(n) {
    7.  
      property = n.property;
    8.  
      property.recordId=event.variables.recordId;
    9.  
      property.rate=event.variables.rate;
    10.  
      property["简介"] = n.introduction;
    11.  
      });
    12.  
       
    13.  
      for(var item in property) {
    14.  
      print(property[item]);
    15.  
      }
    16.  
      db.getCollection("").update({'_id':event._id}, {$set:{'property':property, "del":"1"}})
    17.  
      });

    将一个表的数据保存到另一张表中,相比较save和insert方法

    • insert: 若新增数据的主键_id已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常提示主键重复,不保存当前数据。
    • save: 若新增数据的主键_id已经存在,则会对当前已经存在的数据进行修改操作。
    1.  
      var notin = db.getCollection("").find({});
    2.  
       
    3.  
      notin.forEach(function (event) {
    4.  
      print("notin_bak _id-->" + event._id + " word--> " + event.word);
    5.  
      db.getCollection("").save(event);
    6.  
       
    7.  
      });

    将一个表的数据保存到另一张表中,如何另一张表的word与一个表的word相同,就不保存。也就是保存在另一张表中不存在word的方法

    1.  
      var find = db.getCollection("").find({});
    2.  
       
    3.  
      find.forEach(function(event) {
    4.  
      var flag = true;
    5.  
      db.getCollection("").find({"word":event.name}).forEach(function(n) {
    6.  
      flag = false;
    7.  
      db.getCollection("").save(event);
    8.  
      });
    9.  
       
    10.  
      if(flag) {
    11.  
      db.getCollection("").save(event);
    12.  
      }
    13.  
      });

    查询属性不存在 [ "运动项目", "生肖", "星座", "血型"]的字段的方法 

    indexof是判断一个数组是否含有某个元素的方法,不存在的返回-1

    1.  
       
    2.  
      var find = db.getCollection("").find({ "category": /.*人物.*/i });
    3.  
       
    4.  
      var persongArray = [ "运动项目", "生肖", "星座", "血型"];
    5.  
       
    6.  
       
    7.  
      find.forEach(function(event) {
    8.  
      print("_id"+ event._id + " word " +event.word);
    9.  
      var errorcount = 0;
    10.  
      for(var item in event.variables) {
    11.  
      //词典表中的字段
    12.  
       
    13.  
      if(persongArray.indexOf(item) < 0) {
    14.  
      print(item);
    15.  
      errorcount++;
    16.  
      }
    17.  
      // print(persongArray.indexOf(item));
    18.  
      }
    19.  
      print("不匹配字段数目:" + errorcount + " ");
    20.  
      });

    打开一个app,如果打不开则跳转到另一个页面

    1.  
      function isInstalled(){
    2.  
      /*var the_href="https://mobile.baidu.com/item?docid=24307148&source=pc";//获得下载链接
    3.  
      window.location="nihao://nihao";//打开某手机上的某个app应用,在intent-filter里面,由安卓客户端同事提供
    4.  
      setTimeout(function(){
    5.  
      window.location=the_href;//如果超时就跳转到app下载页
    6.  
      },500);*/
    7.  
      var loadDateTime = new Date();
    8.  
      window.location = "nihao://nihao"; //打开app的协议,在
    9.  
      setTimeout(function () {
    10.  
      var timeOutDateTime = new Date();
    11.  
      if (!loadDateTime || timeOutDateTime - loadDateTime < 1510) {
    12.  
      window.location = ""; //如果超时就跳转到app下载页
    13.  
      }
    14.  
      }, 1500);
    15.  
      }
    16.  
      <intent-filter>
    17.  
                      <action android:name="android.intent.action.VIEW" />
    18.  
                      <category android:name="android.intent.category.BROWSABLE" />
    19.  
                      <category android:name="android.intent.category.DEFAULT"/>
    20.  
                      <data android:scheme="nihao" android:pathPrefix="/nihao" />
    21.  
                  </intent-filter>

    jquery将一些题目打印出控制台中,类似于一个爬虫爬取内容

    1.  
      for(var i=2; i<=13;i++) {
    2.  
          
    3.  
          window.location.href="https://www.zhiliti.com.cn/html/changshiti/list22_"+i+".html"
    4.  
          var anniu;
    5.  
          for(var i=0; i<$(".list").find("li a").size(); i++) {
    6.  
              var titleStr = $(".list").find("li a").get(i).title;
    7.  
              $(".list").find("li span").get(i).onclick();
    8.  
              var answerStr =  $(".anniu").get(i).innerHTML.replace("答案:","");
    9.  
              anniu += "Q:" + titleStr +" A:"+ answerStr+" ";
    10.  
          }
    11.  
          console.log(anniu);
    12.  
       
    13.  
      }

    js将sring转为json    js将json转为string

    1.  
      var jsonobj = JSON.parse(str) //将string转为json
    2.  
       
    3.  
      var last=obj.toJSONString(); //将JSON对象转化为JSON字符
    4.  
      var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

    js将string转为int

    发现parseInt方法在format'00'开头的数字时会当作2进制转10进制的方法进行转换,所以建议string转int最好用Number方法

    1.  
      parseInt(str) //将str的string类型转为int
    2.  
       
    3.  
      Number(str) //建议使用这种

    js操作json对象,删除对象中一个属性,也就是删除一个key:value

    delete singer.name //这样的话 singer中的 "name":"周杰伦" 这个键值对就被干掉了
  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/TOLLA/p/9646922.html
Copyright © 2020-2023  润新知