草庐IT

指标聚合

全部标签

mongodb - 在 $group 阶段聚合后匹配 _id

我在MongoDB中有以下场景:每条记录都有自己的_id和parentId。如果parentId==""那么它就是一个真正的父记录。如果parentId有一个值,那么该记录实际上是一个指向父记录的子记录。下面显示了一个父项及其链接的子项。{"_id":ObjectId('586c9d275d2f62e1634978db'),parentId="",count=1,}{"_id":ObjectId('586c9d275d2f62e163497811'),parentId=ObjectId('586c9d275d2f62e1634978db'),count=3,}我想要一个查询,在那里我找

mongodb - 尝试使用 scala 从 Spark 向 mongodb 写入 $group 聚合时出现重复键错误

编辑:此编辑可能会改变此问题的进程。在spark上运行的mongodb聚合(特别是$group)在写回集合时创建了重复的_id记录。结果,mongodb抛出重复键错误。顺便说一句,这个查询在mongoshell中运行得很好。这是我做的:我拿了一个小数据集,并将(聚合)spark代码的结果打印到控制台,而不是写入集合。我打印了完整的结果集,但在_id字段中发现了重复项。数据看起来像这样:(已编辑)Document{{_id=Document{{prodCategory=123},{proId=ABC},{‌​location=US}},details=[Document{{....}},

mongodb - 获取第一个聚合结果并在附加元素中聚合所有其他结果

我需要从查询中获取前N个项目,并将所有其他项目(不在前N个项目中)分组到一个附加元素中。例如,考虑一个包含以下文档的集合:{user:"Ana",post:"A"},{user:"Ana",post:"B"},{user:"Ana",post:"C"},{user:"Ana",post:"D"},{user:"Bruce",post:"E"},{user:"Bruce",post:"F"},{user:"Bruce",post:"G"},{user:"Cami",post:"H"},{user:"Cami",post:"I"},{user:"John",post:"J"},{user:

mongodb - 使用 $group 两次聚合

我读过SO和类似的问题one.但是我无法构建我想要的查询...假设我有以下数据结构:{"CAUG":"id1","action":"actionA","date":ISODate("2017-01-01"),"hp":16}{"CAUG":"id1","action":"actionB","date":ISODate("2017-01-01"),"hp":17}{"CAUG":"id1","action":"actionC","date":ISODate("2017-02-10"),"hp":18}{"CAUG":"id2","action":"actionX","date":ISOD

MongoDB 聚合或获取集合中记录文档的 Mean 每日平均计数

每次我将文档添加到MongoDB集合时,我都会保存当前时间Date.now()。假设这3个文档具有以下格式:#Doc1{date:ISODate("2017-01-25T09:47:40.000Z"),reports:5}#Doc2{date:ISODate("2017-01-24T09:47:40.000Z"),reports:5}#Doc3{date:ISODate("2017-01-23T09:47:40.000Z"),reports:5}基本上,数学公式是(总报告)除以(从最早的日期到今天的天数)。使用mongoshell执行此聚合的最简单/最快的方法是什么?谢谢!

mongodb - 在 MongoDB 聚合中加入两个数组?

聚合产生了两个数组:$array1和$array2:$array1=[{key1_1:0,key1_2:1,key1_3:2},{key1_1:0,key1_2:1,key1_3:2}]$array2=[{key2_1:0,key2_2:1},{key2_1:0,key2_2:1}]我愿意完全加入他们。如果我这样做:{$project:{'output':{$concatArrays:['$array1','$array2']}}结果是这样的:output:[{key1_1:0,key1_2:1,key1_3:2},{key2_1:0,key2_2:1},{key1_1:0,key1_

mongodb - 如何进行多个 mongoose 聚合搜索?

我在MongoDB中有如下结构:{memberId:1236,platform:"PC",channel:"A",page:"B",ip:"192.168.10.1",isActive:true,createOn:"2017-02-19T09:28:43.688Z",isSubmit:false,}现在我需要做如下聚合搜索:{memberId:1236,platform:"PC",channel:"A",page:"B",pv:111,uv:10}uv(用户浏览量)仅基于pv(页面浏览量),由ip区分。如何进行多重聚合搜索?我只能得到一个,要么是pv,要么是uv,但不能同时得到它们。我

java - 嵌套 Json 聚合

早些时候我的mongodb文档如下所示{"_id":ObjectId("5880f010706358aab7a290af"),"user_id":"2","timezone":"5.5"}我下面的代码工作正常privatevoidgetData(Stringid,Stringname)throwsException{Aggregationaggregation=newAggregation(match(Criteria.where("user_id").is(id)),group("timezone").count().as("total"));AggregationResultsgr

javascript - Mongodb 聚合嵌套组与最近更新的文档

我已经在我的收藏中分配了人员、状态,如下所示。[{"ASSIGN_ID":"583f84bce58725f76b322398","SPEC_ID":"58411771","STATUS":1,"UPDATE_DATE":ISODate("2016-12-21T04:10:23.000Z")},{"ASSIGN_ID":"583f84bce58725f76b322398","SPEC_ID":"58411772","STATUS":4,"UPDATE_DATE":ISODate("2016-12-22T04:10:23.000Z")},{"ASSIGN_ID":"583f84bce587

mongodb - 带有嵌入式文档的 Mongodb 聚合

我有一个这样的产品系列,经过简化:[{"_id":1,"ref":"product1","variants":[{"ref":"variant1.1","categories":["categorya"]},{"ref":"variant1.1","categories":["categorya","categoryb"]}]},{"_id":2,"ref":"product2","variants":[{"ref":"variant2.1","categories":["categoryc"]},{"ref":"variant2.1","categories":["categorya