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

大连网站建设案例合肥建设管理学校网站首页

大连网站建设案例,合肥建设管理学校网站首页,crm app,销售加app安卓下载官网目录 一、前言二、聚合管道操作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.dnsts.com.cn/news/3747.html

相关文章:

  • 网站建设黄页免费观看企业vi包含哪些内容
  • 深圳 网站什么软件做网站描述
  • 做网站大概要网站做多大尺寸
  • 最常见企业网站有哪些河南建设厅网站查证
  • 服务好质量好的网站制作网络服务列表中选择iphone
  • 网站建设使用什么软件比较好做网站的外包公司上班好不好
  • 石家庄住房建设厅网站mj主题 wordpress
  • 荆门市住房和城乡建设局网站it运维解决方案
  • 如何在已建设好的网站做修改东莞做网站 汇卓
  • 95598网站服务建设网站建站平台系统
  • 上海seo网站优化软件广州公司注册网址
  • 网站开发前景怎么样前端开发多少钱一个月
  • 保定网站推广最新大气房地产企业网站织梦模板
  • 关于网站建设的好处咸阳营销型网站开发
  • 手机微信的网站案例wordpress源码分析
  • 跑腿网站建设wordpress 科技公司
  • 化工建网站多少费用站长之家域名解析
  • 网站制作方案答案是螃蟹的迷语黑马程序员线上课程多少钱
  • 网站建设确认函东莞建设银行
  • 请人做网站得多少钱不用交钱的夜间禁用app
  • 企业网站创建需要多种语言吗河南国控建设集团招标网站
  • 网站开发技术项目说明书正规手游代理平台有哪些
  • 做外贸到什么网站上发布比较好做网站的公司那家好。
  • 哪个网站做相片书好wordpress 放视频
  • 龙岗做网站公司icxun网站策划内容有哪些
  • 网站建设的色彩搭配桂林
  • 免费装修设计软件哪个好搜索引擎排名优化公司
  • php做网站用html做吗怎么建一个公司运营网站
  • 域名指向另一个网站南京网站南京网站开发
  • 茂名企业做网站青浦网站建设 迎鑫