zoukankan      html  css  js  c++  java
  • mongodb $where查询

    mongodb中$where查询功能非常强大,不过效率低,这里介绍一下$where的使用方法

    db.getCollection('rest.modules.entity.TestCase').find({$where:
        function () { 
            var result=true;
            var selectTarger='ffffe10183c3e1ff';
            var temp = this.fingerCode;
            var different = 0;
            for(var i=0;i<16;i++){
                if (selectTarger.charAt(i)!=temp.charAt(i)){
                    different++;
                }
            }
            if (different==0){
                result = true;
            }else if (different <= 5){
                result = true;
            }else{
                result=false;
            }
            return result;
         }
      }).limit(10);
      

    用java mongo driver调用

    BasicDBObject totalQuery=new BasicDBObject();
    				
    				StringBuilder sb=new StringBuilder();					
    				sb.append("function () { var result=true;");
    				sb.append("var selectTarger='"+fingerCode+"';");
    				sb.append("var temp =     this."+whereT.getFingerCodeField()+";");
    				sb.append("var different = 0;");
    				sb.append("for(var i=0;i<16;i++){");
    				sb.append("if (selectTarger.charAt(i)!=temp.charAt(i)){");
    				sb.append("different++;");
    				sb.append("}");
    				sb.append("}");
    				sb.append("if (different==0){");
    				sb.append("result = true;");
    				sb.append("}else if (different <= 5){");
    				sb.append("result = true;");
    				sb.append("}else{");
    				sb.append("result=false;");
    				sb.append("}return result;}");
    				
    
    			
    				
    				totalQuery.append(QueryOperators.WHERE, sb.toString());
    				
    				
    				
    			    FindIterable<Document> fiList = collection.find(totalQuery).limit(10);                
    
  • 相关阅读:
    第二章:变量和简单数据类型
    第四章:操作列表
    第三章:列表简介
    老男孩Day6作业:计算器
    老男孩Day5作业:电子银行购物商城
    老男孩Day4作业:员工信息查询系统
    老男孩Day3作业:工资管理系统
    老男孩Day2作业:购物车程序
    改进地图的vo类
    slam kf
  • 原文地址:https://www.cnblogs.com/zxcgy/p/7280827.html
Copyright © 2011-2022 走看看