当前位置: 首页 > news >正文

ios认证 东莞网站建设中国著名的网站建设公司

ios认证 东莞网站建设,中国著名的网站建设公司,薛城网站建设,百度网站 收录目录 一、前言二、聚合管道操作2.1、实际案例1(1)、案例--根据学生no#xff0c;找到对应班级名称(2)、案例--这个班级有哪些学生和哪些老师在任课 2.2、实际案例2(1)、案例--主表和关联表都有条件限制#xff0c;且分页返回 一、前言 聚合操作组值来自多个文档#xff0c;… 目录 一、前言二、聚合管道操作2.1、实际案例1(1)、案例--根据学生no找到对应班级名称(2)、案例--这个班级有哪些学生和哪些老师在任课 2.2、实际案例2(1)、案例--主表和关联表都有条件限制且分页返回 一、前言 聚合操作组值来自多个文档可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类单一作用聚合、聚合管道、MapReduce。 单一作用聚合提供对常见聚合过程的简单访问操作都从单个集合聚合文档聚合管道操作将文档在一个管道处理完毕后把处理的结果传递给下一个管道进行再次处理MapReduce操作是将集合中的批量文档进行分解处理然后将处理后的各个结果进行合并输出 二、聚合管道操作 管道的主要函数方法如下 名称 描述 类比sql $avg 计算均值 avg $first 返回每组第一个文档如果有排序按照排序如果没有按照默认的存储的顺序返回第一个文档。 limit 0,1 $last 返回每组最后一个文档如果有排序按照排序如果没有按照默认的存储的顺序返回最后一个文档。 - $max 根据分组获取集合中所有文档对应值的最大值。 max $min 根据分组获取集合中所有文档对应值的最小值。 min $push 将指定的表达式的值添加到一个数组中。 - $addToSet 将表达式的值添加到一个集合中无重复值无序。 - $sum 计算总和 sum $stdDevPop 返回输入值的总体标准偏差population standard deviation - $stdDevSamp 返回输入值的样本标准偏差the sample standard deviation - 2.1、实际案例1 classDo是班级信息 StudentDo是学生信息 teacherDo是老师信息 一个学生 关联一个班级一个班级有多个学生一个老师挂在多个班级下一个班级拥有多个老师主要表结构字段 ClassDo班级信息JSONField(name class_no)private String classNo;JSONField(name class_name)private String className;JSONField(name class_position)private String classPosition;ListStudentDo studentDos; //关联学生们ListTeacherDo teacherDos; //关联老师们StudentDo学生信息JSONField(name stu_id)private String stuId;JSONField(name stu_name)private String stuName;JSONField(name stu_age)private String stuAge;JSONField(name chinese_score)private String chineseScore;JSONField(name match_score)private String matchScore;JSONField(name class_id)private ObjectId classId; //学生属于哪个班级ClassDo classDo; //学生属于具体哪个班TeacherDo老师信息JSONField(name te_id)private String teId;JSONField(name te_name)private String teName;JSONField(name te_age)private String teAge;JSONField(name class_ids)private ListObjectId classIds; //老师教学多个班级 (1)、案例–根据学生no找到对应班级名称 public void aggregateStudent(String stuName,String stuAge){int page 2,maxElements10;Criteria criteria new Criteria();criteria.and(stuName).is(stuName);criteria.and(stuAge).is(stuAge);Aggregation aggregation Aggregation.newAggregation(Aggregation.match(criteria),Aggregation.lookup(w_class,classId,_id,classDo), // Aggregation.unwind(classDo) //加上这行那么classDo关联时classDo节点为null那么就去去掉这一行Aggregation.unwind(classDo,true), //classDo为null这个数组[index]还存在但classDo字段不存在了// 计算思路skip(页码-1)* maxElementsAggregation.sort(Sort.by(stu_age).descending()),Aggregation.skip((page-1)*maxElements),// 利用limit限制输出的文档数即需展示的数据量可理解为每页显示的数量Aggregation.limit(maxElements));/*** aggregate()表明 主要查询w_student表对应的查询条件是match(criteria)* 接着要关联w_class表。 w_student表的class_id字段关联w_class表的_id字段。*/AggregationResultsJSONObject aggregationResults mongoTemplate.aggregate(aggregation, w_student, JSONObject.class);ListJSONObject infoList aggregationResults.getMappedResults();log.info(aggregationResults:{}, JSON.toJSONString(infoList));}(2)、案例–这个班级有哪些学生和哪些老师在任课 备注主表有查询条件关联两个子表以主表返回结果 public void aggregateClass(String className){Criteria criteria new Criteria();criteria.and(className).is(className);Aggregation aggregation Aggregation.newAggregation(Aggregation.match(criteria),Aggregation.lookup(w_student,_id,classId,studentDos),Aggregation.lookup(w_teacher,_id,classIds,teacherDos));AggregationResultsJSONObject aggregationResults mongoTemplate.aggregate(aggregation, w_class, JSONObject.class);ListJSONObject infoList aggregationResults.getMappedResults();log.info(aggregationResults:{}, JSON.toJSONString(infoList));}2.2、实际案例2 现有两个mongodb表business_permission存储某个业务的权限信息business_a表是具体某个业务其中business_a表的主键id关联到business_permission表的business_id。 (1)、案例–主表和关联表都有条件限制且分页返回 由于这里的查询要求分页那么只能对要分页的主表进行返回。 public Object templateAggregation2(int page,int size){//主表的查询条件Criteria criteria new Criteria();criteria.and(state).is(Boolean.TRUE);//关联表的查询条件Criteria permissionCri new Criteria();permissionCri.and(templateInfo.business_type).is(7); ///**templateInfo是关联的表结构这个结构的permission节点是一个数组在具体按照要求进行过滤得到需要的权限是否存在*/Criteria businessCriteria new Criteria(); businessCriteria.andOperator(Criteria.where(templateInfo.permission.id).is(04),Criteria.where(templateInfo.permission.permission_type).is(2));Criteria businessCriteria2 new Criteria(); businessCriteria2.andOperator(Criteria.where(templateInfo.permission.id).is(01),Criteria.where(templateInfo.permission.permission_type).is(2));ListCriteria busCriteriaList new ArrayList();busCriteriaList.add(businessCriteria);busCriteriaList.add(businessCriteria2);busCriteriaList.add(Criteria.where(templateInfo.all_flag).is(Boolean.TRUE));busCriteriaList.add(Criteria.where(templateInfo.permission).is(null));busCriteriaList.add(Criteria.where(templateInfo.permission).is(new ArrayList()));Criteria[] criArray new Criteria[busCriteriaList.size()];busCriteriaList.toArray(criArray);permissionCri.orOperator(criArray);Aggregation aggregation Aggregation.newAggregation(Aggregation.match(criteria), //主mongodb自身查询条件Aggregation.lookup(business_permission,_id,business_id,templateInfo), //business_permission的business_id对应主表的idAggregation.match(permissionCri), //关联表查询条件Aggregation.sort(new Sort(Sort.Direction.DESC, update_time)),// 计算思路skip(页码-1)* maxElementsAggregation.skip((page-1)*size),Aggregation.limit(size) //这分页的// Aggregation.group(template_type) //按照分组返回特定的字段值 【可以统计数量】// .sum(id).as(sumValue) //对id进行求和 // .first(template_code).as(templateCode)// .avg(doc_view_number).as(avgValue));AggregationResultsJSONObject aggregationResults mongoTemplate.aggregate(aggregation, business_a, JSONObject.class);ListJSONObject templateList aggregationResults.getMappedResults();log.info(templateList All:{}, JSON.toJSONString(templateList));return templateList;}
http://www.hkea.cn/news/14446479/

相关文章:

  • mp3网站源码网站后台如何添加新闻
  • 一家专门做护肤的网站建设网站的意义作用是什么意思
  • 专业做高校网站群管理系统关键词排名优化佛山售后
  • 四川关于工程建设网站传奇手游发布网站
  • 住房建设部官方网站居住区政策wordpress背景自动变幻图形
  • 机房建设百度推广优化工具
  • 网站建设的目标是什么微页制作网站模板免费下载
  • 药店网站模板做新媒体广告的网站
  • 在一家传媒公司做网站编辑_如何?优秀品牌形象设计案例
  • 商城网站源码dedewordpress空间安装不了
  • 批量建wordpress模板网站如何做seo
  • 如何添加网站 ico软件开发工程师岗位说明
  • 城阳做网站的公司oa系统运维
  • 哈尔滨网站建设贴吧网络舆情监测 toom
  • 建设公司网站标题公司网站域名查询
  • 厦门网站推广优化哪家好游戏推广平台
  • 初中学生做那个的网站第一简历模板网
  • 山东有实力的网站开发多少钱手机配件网站模板
  • 什么值得买 网站开发红色网站主题
  • cps推广网站怎么制作网站软件
  • 广州建网站公司排名淄博网站开发公司
  • 网站建设的项目亮点怎么写做谷歌推广的网站如何引流
  • 宝塔面板加wordpress建站全景网互动平台
  • 做老电影网站侵权吗酒店网站开发需求文档
  • 功能性的网站建设广告设计专业就业前景好吗
  • wordpress exp企业网站seo优化交流
  • 制作logo的网站微信网站建设企业
  • 用html网站登录界面怎么做网站改地址要钱吗
  • 自建站网址怎么做二维码网站
  • 网站开发中文改成英文遂川网站建设