从网上查了很多 但是没有同一个字段的and的查询。经过研究实现如下 

    关系。vc大于1 and pbh大于start AND pbh小于end  按照vc大到小排序,最多显示num条。

    DBObject queryCondition = new BasicDBObject();
             queryCondition.put("vc", new BasicDBObject("$gt", 1));//大于
            
             BasicDBObject startendCondition = new BasicDBObject();
             if(start!=null){
                 startendCondition.append("$gt", start);//大于
             }
             if(end!=null){
                 startendCondition.append("$lte", end);//小于
             }
             queryCondition.put("pbh",startendCondition);  
            
            

            DBObject sortCondition = new BasicDBObject("vc",-1);
            //.limit(10).sort(new BasicDBObject("create_time",-1));
            DBCursor resultset = collection.find(queryCondition).sort(sortCondition).limit(num);