草庐IT

指标聚合

全部标签

java - Spring Data MongoDB 聚合转换?

我无法将以下mongodb聚合操作转换为SpringDataAggregationOperation。我正在使用SpringDataMongoDB1.3.2版本。db.ads.aggregate({$group:{_id:"$adId",req:{$sum:1},imp:{$sum:{$cond:[{$eq:["$imped",true]},1,0]}},click:{$sum:{$cond:[{$eq:["$clked",true]},1,0]}},bid:{$sum:{$cond:[{$eq:["$clked",true]},"$bid",0]}}}});我停在这里:Aggrega

MongoDB 聚合 - $sum 参数

我有以下聚合查询:{"$match":{"expired":{"$exists":False}}},{"$group":{"_id":"$retailer","average_price":{"$avg":"$price"},"highest_price":{"$max":"$price"},"lowest_price":{"$min":"$price"},"online":{"$sum":1}}}我想通过计算有多少产品在促销来对此进行扩展。我试过了(这显然无效):{"$match":{"expired":{"$exists":False}}},{"$group":{"_id":"$r

python - MongoDB 聚合 - 按不同对分组

我需要使用PyMongo驱动程序通过无序的不同字段对(sender和recipient)对来自特定集合的记录进行分组。例如,(sender_field_value,recipient_field_value)和(recipient_field_value,sender_field_value)对被认为是相等的。我的聚合管道groups=base.flow.records.aggregate([{'$match':{'$or':[{'sender':_id},{'recipient':_id}]}},{'$group':{'_id':{'sender':'$sender','recipi

MongoDB 最小/最大聚合

我有具有这种简化模式的文档:{positon:10,value:5,count:3}我想要计算的是按位置对这些文档进行分组,并找到计数大于4但具有value的最大value小于计数小于4的最小value。这是我所做的,但它不起作用:{$group:{_id:{position:"$position",},result:{$max:{$cond:[{$and:[{$gte:["$count",4]},{$lt:["$value",{$min:{$cond:[{$lt:["$count",4]},{value:"$value"},10]}}]}]},{value:"$value",nb:"

mongodb - 如何在 erlang MongoDB 驱动程序中实现聚合

我正在尝试将聚合与erlangmongodbdriver结合使用.这是我到目前为止尝试过的mongo_query:command({Db,Conn},{aggregate,>,pipeline,>},false).但是我收到这个错误**exceptionerror:{bad_command,{errmsg,>,code,13111,ok,0.0}}我在前进时遇到了困难,正在寻求任何帮助,以通过erlang驱动程序实现聚合。需要说明的是,我正在尝试实现这一点db.users.aggregate({$group:{_id:"",id:{$sum:"$id"}}},{$project:{_i

python - MongoDB:股票报价数据的聚合

我正在使用MongoDB来存储我的股票报价数据。我每分钟每个股票代码有一个文档:{"_id":ObjectId("535fb330f6a03d59077db43c"),"symbol":"AAPL","ts_minute":ISODate("2014-04-29T14:12:00Z"),"ticks":[{"mu":115864,"ae":true,"t":2,"v":571.93},{"mu":803378,"ae":true,"t":2,"v":571.91},{"mu":903378,"ae":false,"t":null,"v":9000}}其中mu是自ts_minute以来的

java - java中的Mongo聚合

您好,我的mongo集合包含以下文档:{"_id":ObjectId("539efd5b254bb5f65c9da94e"),"iInfo":[{"ifout":0,"iferror":0,"ifdes":"N/A","ifin":0},{"ifout":0,"iferror":10,"ifdes":"N/A","ifin":0},{"ifout":0,"iferror":4,"ifdes":"N/A","ifRemotePort":"0","ifin":0},{"ifout":0,"iferror":0,"ifdes":"N/A","ifin":0}]}{"_id":ObjectId

node.js - MongoDB 在 node.js 中使用 where 进行聚合查询

我在node.js中有以下mongodb查询,它为我提供了一个唯一邮政编码列表,以及邮政编码在数据库中出现的次数。collection.aggregate([{$group:{_id:"$Location.Zip",count:{$sum:1}}},{$sort:{_id:1}},{$match:{count:{$gt:1}}}],function(lookupErr,lookupData){if(lookupErr){res.send(lookupErr);return;}res.send(lookupData.sort());});});如何修改此查询以返回一个特定的邮政编码?我已

mongodb - 使用 Java API 的 Mongodb 正则表达式聚合查询

我想在mongodb中使用正则表达式和聚合进行查询,下面的代码在mongoshell中运行良好,但如何使用JavaAPI编写相同的代码。db.posts_collection.aggregate({$unwind:"$posts"},{$match:{"posts.message":/.*keyword.*/}})我尝试使用以下但无法获得所需的结果,BasicDBObjectunwind=newBasicDBObject("$unwind","$posts");BasicDBObjectmatchKeyWord=newBasicDBObject("$match",newBasicDBO

mongodb - 使用 MongoDB 聚合将来自不同属性的值合并到一个数组中

我正在尝试找出是否会产生聚合运算符的组合,给定与此类似的输入文档:[{field1:1,field2:2},{field1:2,field2:3}]在具有单个数组字段的输出文档中,其元素是字段的不同值field1和field2输入文档的数量,在此示例中:{result:[1,2,3]}到目前为止我试过这些:$addToSet,但它似乎不支持多个参数,即不允许$addToSet来自同一文档中的多个属性$project到项目field1和field2进入结果数组字段,然后我可以$unwind然后$addToSet,但似乎也不支持将两个(或更多)属性投影到数组中。