草庐IT

grouping

全部标签

mongodb - Mongo 聚合使用多个 group by 计算键的出现次数

假设我的mongo模式如下所示:db.events=[{"_id":ObjectId("528cb8f06e95520dd7000004"),"user_id":"1","event_name":"view","product_id":20},{"_id":ObjectId("528cb8f06e95520dd7000004"),"user_id":"1","event_name":"like","product_id":20},{"_id":ObjectId("528cb8f06e95520dd7000004"),"user_id":"2","event_name":"view","

mongodb - 在 mongodb 中使用 group by 子句获取值的范围

我在mongodb中有一个这样的集合。{"_id":"1235677","name":"xyz","time":ISODate(2015-07-20T09:00:00Z)},{"_id":"1235677","name":"xyz","time":ISODate(2015-07-20T11:00:00Z)},{"_id":"1235677","name":"abs","time":ISODate(2015-07-20T11:00:00Z)}我如何获得数据库中所有名称的Max(time)减去Min(time)。相当于这个sql查询-SELECTname,Max(time)-Min(tim

MongoDB : getting list of values by using Group

我有一个名为contract的集合,我想使用“a_id”分组{a_id:1,"name":"n1"}{a_id:2,"name":"n2"}{a_id:1,"name":"n3"}{a_id:1,"name":"n4"}{a_id:2,"name":"n5"}我想按“a_id”分组以显示相关名称列表。{a_id:1,values:["n1","n3","n4"]}{a_id:2,values:["n2","n5"]}我的代码:db.contract.group({key:{a_id:1},initial:{v:''},reduce:function(doc,obj){v=v+""+ob

MongoDB $group 不支持包含式表达式

我在mongoDB中使用以下查询得到"errmsg":"$groupdoesnotsupportinclusion-styleexpressions"db.lineitems.aggregate({$match:{"shipdate":{$lte:19980801}}},{$group:{_id:{"returnflag":1,"linestatus":1},sum_qty:{$sum:"$quantity"},sum_base_price:{$sum:"$extendedprice"},sum_disc_price:{$sum:{$multiply:["$extendedprice"

mongodb - 使用 mapReduce 选择一行中的所有字段

我在nodejs中使用mongoose。我正在使用mapReduce来获取按字段分组的数据。所以它作为一个集合给我的只是来自数据库每一行的分组字段的键。我需要从数据库中获取按一个字段分组并根据另一个字段排序的所有字段。例如:我有一个数据库,其中包含前往这些地方和其他一些字段的地点和票价的详细信息。现在我需要以这样一种方式获取数据,即根据按票价为他们排序的地点对数据进行分组。MapReduce帮助我得到它,但我无法得到其他字段。有没有办法使用mapreduce获取所有字段,而不是像上面示例中提到的那样只获取两个字段? 最佳答案 我必须

MongoDB GROUP BY 和 COUNT 未知键

我正在尝试对每个Mongo文档中的每个键进行GROUPBY和COUNT,但键可能因文档而异。我知道如何通过像这样显式调用每个键来进行分组和计数:db.test.aggregate([{"$group":{_id:"$vcenter",count:{$sum:1}}}])但是我如何在不必调出键的情况下遍历每个文档的每个键。我在考虑mapreduce函数?这是一个示例文档:“key1”:“vmx”,“key2”:“类型”,"key3":"cpu-idle",我正在寻找每个键有多少条记录,例如:“key1”:1564“key2”:1565“键3”:458 最佳答案

sql - 在 MongoDb 中对连续数据进行分组

我有点火数据随时间(按ASC顺序)存储在MongoDB中,例如:1.**V_no****Ign****time**2.001On15367212123.001On15367212134.001On15367212205.001Off15367212216.001Off15367212227.001On15367212348.001On15367212569.001Off1536721299我正在寻找的是对连续点火session进行分组并且输出如下:1.**V_no****Ign****sTime****eTime**2.001On153672121215367212203.001Off

javascript - $project 上的 mongo-aggregation : apply regex grouping, 字符串处理

我想在执行$project时应用一些简单的字符串操作,是否可以在$project上应用类似以下函数的东西?:varthemeIdFromZipUrl=function(zipUrl){returnzipUrl.match(/.*\/(T\d+)\/.*/)[1]};我正在使用以下查询:db.clientRequest.aggregate({$match:{"l":{$regex:".*zip"},"t":{"$gte":newDate('1/SEP/2013'),"$lte":newDate('7/OCT/2013')}}},{$project:{"theme_url":"$l","_

python - 如何在 python 中为 db.collection.group() 编写 mongodb 查询

我正在处理MongoDB查询db.BH.group({"key":{"AccountId":true,},"initial":{"count":0},"reduce":function(obj,prev){if(true!=null)if(trueinstanceofArray)prev.count+=true.length;elseprev.count++;},"cond":{"$or":[{"Url":{"$regex":"(google)"}},{"Url":{"$regex":"(facebook)"}}]}});查询在MongoDBShell(Robomongo)中运行良好。

node.js - MongoDB - Mongoose : Aggregate generation, $match $group $project

我是mongoDB世界的新手。我正在使用expressJS和mongoose作为数据库在nodeJS上开发一个网站。我正在研究图形方向,我用这个模型生成了一个数据库:varuserSchema=newSchema({profile:{sexe:String,//('male'or'female')age:String,//('kid','adult','old')rank:String,//('low','middle','high')},design:{luminosity:String,//('light','dark')color:String,//('blue','green'