一的字段举行分组咱们念按每行中唯,特定值x显现的次数该x字段和188宝金博下载群集每个。此为,一个初始文档咱们须要创筑,变量和一个 reduce 函数此中包蕴咱们的 count ,时城市扩充它每次碰到它。ava代码如下所运转组操作的J示 影操作inventory这种一步群集对蚁合行使投。于 的库存项目行使条目运算来投影该字段250咱们discount通过对全部qty大于或等。n字段奉行第二个条目投影对该descriptio。description字段或有null描绘的项目咱们将Unspecified描绘操纵于全部没有。 作是若何任务的为了剖判组操,下示例行使以,点人工这有。实的示例相合更现,B – 巨头指南”一书请参阅“MongoD。tion行使以下行创筑的名为的蚁合group_test_collec。 从输入蚁合中界说一个组行使该group操作。和city字段的组合分组条目是state, ID 机合组成了分组的。m运算符从分组元素中群集属性的值咱们population行使su,正在pop字段中并将结果保管。 本文时正在撰写,ngoDB 中的以下群集操作供给维持咱们为 Spring Data Mo: sOperation())天生的 ID 字段创筑一部分名选拔该n字段并为往日一个组操作(以是移用previou,tag名称为。 acet()手腕界说一个Aggregation您能够FacetOperation行使类的f。用多个群集管道对其举行自界说您能够行使and()手腕使。档中都有本人的字段每个子管道正在输出文,为文档数组其结果存储。 特定群集设施结果的字段投影表达式用于界说动作。义投影表达式Aggregation能够通过类的project手腕定,表或群集框架Fields对象通过通报String对象列。该and(String)手腕扩展附加字段投影能够通过 fluent API 行使,s(Strin188bet亚洲登录g)并行使该手腕一名a。戒备请,合框架的静态工场手腕界说带有一名的字段您还能够行使Fields.field聚,一个新的Fields实例然后您能够行使它来构造。段名称或其一名(搜罗新界说的字段及其一名)有用后期群集阶段对投影字段的援用仅对包蕴字段的字。能正在后面的群集阶段援用未包蕴正在投影中的字段不。投影表达式的示例以下清单显示了: 戒备请, $bucketAuto一节中找到相合存储桶表达式的更多精确音讯能够正在 MongoDB 群集框架参考文档的$bucket一节和。 达式的值对传入文档举行分组按计数排序操作依照指定表,组中的文档计数揣度每个分别,结果举行排序并按计数对。时操纵排序的便捷迅速格式它供给了正在行使分面分类。分组字段或分组表达式按计数排序操作须要。按计数排序的示例以下清单显示了: 戒备请,Javascript188宝金博下载。ggregation手腕的类派生了输入蚁合的名称咱们从Product动作第一个参数通报给newA。 上供给手腕来供给与 MongoDB 的组操作的集成Spring 通过正在 MongoOperations,的创筑和运转以简化组操作。结果转换为POJO它能够将分组操作的,的Resource笼统笼统而且还集成了Spring。途途、http 办事器或任何其他 Spring 资源实行上这将许诺您将 JavaScript 文献放正在文献编造、类,“classpath:reduce.js然后通过简便的 URI 样式语法(比方;Script 资源”)援用 Java。码动作 Java 字符串嵌入到您的代码中更可取假如凡是将文献中的 JavaScript 代,avaScript 代码那么正在文献中表部化 J。戒备请,您应允假如,t 代码动作 Java 字符串通报您如故能够将 JavaScrip。 文档中生齿逾越 1000 万的州示例此示例基于MongoDB 群集框架。分表的排序咱们增加了,DB 版本形成安定的结果以行使分别的 Mongo。这里正在,逾越 1000 万的全部州咱们要行使群集框架返回生齿。排序和成家(过滤)此示例演示了分组、。 roup操作被选择字段state从上一个g。戒备请,援用组 ID 字段state再次隐式。现隐式天生的 ID由于咱们不指望出,xclude(). 由于咱们念City正在咱们的输出类中填充嵌套机合以是咱们行使and(previousOperation()).e,法发出适应的子文档咱们必需行使嵌套方。 中按升序按形态名称对结果列表举行排序StateStats正在sort操作。 法维持正在投影表达式中行使 SpEL 表达式咱们通过和类的andExpression方。式界说为 SpEL 表达式此效用可让您将所需的表达。盘问时正在运转, MongoDB 投影表达式局部SpEL 表达式被转换为相应的。杂揣度变得加倍容易这种调理使得表达复。 t操作按pop行使该sor,段对中央结果举行升序排序state和city字,市正在结果的顶部使得最幼的城,正在结果的底部最大的都市。戒备请,ring Data MongoDB 管理的)隐式奉行的对state和的排序city是针对组 ID 字段(Sp。 gationTests课程中找到更多项目操作示例能够正在Aggre。戒备请,goDB 群集框架参考文档的相应局部中找到相合投影表达式的更多精确音讯能够正在 Mon。 到 group 手腕中的第三个参数“retval”字段下的文档映照,XObject正在本例中为 ,所示如下。 示的转换以表除了上表中显, SpEL 操作您还能够行使轨范,括号中行使的参数)创筑数组和援用表达式比方new(比方)通过名称(后跟要正在。以这种格式创筑数组以下示例显示了若何: 于创筑多方面群集多个群集管道可用,多个维度(或方面)的数据正在单个群集阶段表里征跨。分类来诱导数据浏览和理解多面群集供给多个过滤器和。格、筑筑商、尺寸和其他要素操纵过滤器来缩幼搜求结果的周围分面的一个常见实行是有多少正在线零售商供给了通过对产物价。 戒备请,ggregation手腕的类派生了输入蚁合的名称咱们从ZipInfo动作第一个参数通报给newA。 (通过行使count群集运算符并将结果汇集正在名为 的新字段中n)行使该group操作tags为咱们群集显现计数的每个值界说一个组。 示例 6 中查看更多上下文中的示例您能够正在群集框架示例 5和群集框架。SpEL 表达式构造的更多行使示您能够正在 中找到相合受维持的 例 界说的畛域将传入的文档分组到这些种别中BucketOperation行使一组。要排序畛域需。储桶操作的少少示例以下清单显示了存: 戒备请,DB 群集框架参考文档的$facet局部中找到相合方面操作的更多精确音讯能够正在 Mongo。 组操作的蚁合的名称第一个参数是运转,个通畅的 API第二个参数是一,By类指定组操作的属性它通过一个Group。例子中正在这个,t和reduceFunction手腕咱们只行使intialDocumen。 fluent API 的一局部您还能够指定键函数以及终结器动作。个要分组的键假如您有多,号分开的键列表则能够传入逗。 n静态工场手腕创筑一个新的群集行使newAggregatio,作列表通报给它咱们将群集操。的Aggregation这些群集操作界说了咱们. reduce举行数据汇总动作替换行使的map-,行使SQL的group by盘问的气派您能够行使group操作这觉得近似于,educe觉得更蔼然可亲比照以是它能够行使的map-r。操作确实有少少局部行使 group ,境况中不受维持比方它正在共享, 对象中的完善结果集它返回单个 BSON,该当很幼以是结果, 10少于, 个键000。 戒备请,gregation手腕的第一个参数假如您供给输入类动作该newAg,则从该类派生输入蚁合的名称MongoTemplate。则否,定输入类假如未指,输入蚁合的名称则必需真切供给。入类和输入蚁合假如同时供给输,者优先则后。 戒备请,射给定输入蚁合的机合ZipInfo该类映。界说了正在所需的输出式样的机合正在ZipInfoStats类。 储桶畛域将传入文档分类为多个组存储桶操作依照指定的表达式和存,存储桶称为。字段或一个分组表达式桶操作须要一个分组。tAuto()手腕界说它们Aggregate您能够行使类的bucket()和bucke。Operation能够基于输入文档的群集表达式公然累积BucketOperation而且BucketAuto。ing)手腕通过畅通的 API 行使附加参数扩展存储桶操作您能够行使with…()手腕和andOutput(Str。ng)手腕为操作筑设一名您能够行使as(Stri。中显露为一个文档每个存储桶正在输出。 late让 MongoDB 奉行现实的群集操作移用aggregate手腕MongoTemp,gregation动作参数并将 createdAg。 戒备请,DB 目前不维持此处未列出的群集操作Spring Data Mongo。Criteria表达式对照群集运算符显露为。 戒备请,的tags参数aggregate输入蚁合被真切指定为Method。输入蚁合的名称假如未真切指定,ggreation手腕的输入类派生的则它是从动作第一个参数通报给newA。 戒备请,ggregation手腕的类派生了输入蚁合的名称咱们从ZipInfo动作第一个参数通报给newA。 多音讯相合更,和其他数据群集器材的完善参考文档请参阅MongoDB 的群集框架。 将中央结果分组stategroup再次行使操作。戒备请,援用组 ID 字段state再次隐式。)运算符的最大和最幼都市的名称和生齿计数project咱们正在操作平分别选拔移用last(…)和first(…。 定畛域以试验将文档平均漫衍到指定命目的桶中BucketAutoOperation确。n可选地采用指定首选数字系列的粒度值BucketAutoOperatio,选圆数或 10 的幂终止以确保揣度的畛域边以首。存储桶操作的示例以下清单显示了: .4 早先从版本 3,用群集框架维持分面分类MongoDB 通过使。主意语义种别(普通的或特定于要旨的)分面分类行使组合起来创筑完善分类条。文档被分类到桶中流经群集管道的。输入文档举行各式群集多面分类能够对统一组,检索输入文档而无需多次。 前投影和过滤输入文档子管道能够正在分组之。条件取日期局部或揣度常见用例搜罗正在分类之。了构面操作示例以下清单显示: 文档中的按州划分的最大和最幼都市示例此示例基于MongoDB 群集框架。分表的排序咱们增加了,DB 版本形成安定的结果以行使分别的 Mongo。这里正在,州按生齿划分的最幼和最大都市咱们指望行使群集框架返回每个。排序和投影(选拔)此示例演示了分组、。 附加参数能够依照它们的位子用索引器表达式援用戒备:通报给addExpression手腕的。例子中正在这个,换为 MongoDB 群集框架表达式时咱们用[0]. 当 SpEL 表达式转,更换为其各自的值表部参数表达式将。 绍性示例中正在这个介,一个标签列表咱们指望群集,tags)中获取特定标签的显现次数以从 MongoDB 蚁合(称为,数降序排序并按显现次。选拔)和睁开(结果拆分)的用法此示例演示了分组、排序、投影(。 入蚁合被选择字段(它是一个字符串数组)行使该project操作tags从输。