草庐IT

指标聚合

全部标签

ruby - MongoDB聚合数据生成 'latest activity'

我有一个mongodb集合,其中包含如下文档:[{:event=>{:type=>'comment_created'},:item=>{:id=>10},:created_at=>{:t=>'11:19:03+01002010',:d=>'Fri,19Nov2010'}},{:event=>{:type=>'vote_created'},:item=>{:id=>10},:created_at=>{:t=>'11:19:03+01002010',:d=>'Fri,19Nov2010'}}]我需要的是构建一个“仪表板”,聚合每个项目的最新事件(当天)。结果应该是这样的:{:item_id

c# - 通过 C# 使用 MongoDB 聚合框架时的性能问题

我在通过C#使用MongoDB聚合框架时遇到了性能问题。通过Mongoshell快速运行的聚合在使用C#执行时需要很长时间。在尝试通过C#调用框架之前,我通过Mongoshell执行了以下聚合以检查一切是否正常:db.runCommand({aggregate:"actions",pipeline:[{$match:{CustomerAppId:"f5357224-b1a8-4f1a-8ea2-a06a00ca597a",ActionName:"install"}},{$group:{_id:{CustomerAppId:"$CustomerAppId",ActionDate:"$Ac

MongoDB 聚合查询

在MongoDB中我有一个集合:Statistics{UserID:int//UseridUrl:string//UrlClicks:[DateTime]//Atimearray}当用户点击一个url时,在Clicks数组中添加点击日期的日期。我的问题是如何编写聚合查询,例如获取从[date1]到[date2]的点击次数并按UserID分组?如何将,输出到文件?谢谢! 最佳答案 假设您有这样的数据(请参阅底部如何生成此数据):{"_id":ObjectId("508ab0e27bb16229520c9561"),"userid":0

mongodb - mongodb 聚合框架管道如何工作?

我可能对mongodb聚合框架管道的工作原理存在根本性的误解。我的期望是每一步都消耗前一步的输出。这是使用http://media.mongodb.org/zips.json提供的示例集合的具体示例:>db.zipcodes.aggregate({$match:{state:"CA"}});产生这样的结果。{"city":"TRUCKEE","loc":[-120.295031,39.319321],"pop":199,"state":"CA","_id":"96162"}到目前为止一切顺利。然后我决定通过运行添加另一个步骤来获得上面的投影:>db.zipcodes.aggregate

用于按月或日聚合的指标的 MongoDB 索引策略

我很好奇是否有任何最佳实践来索引按月/日聚合的集合的指标。文档示例:{track:{2012:{#year1:{#monthpage_views:...,clicks:...,visits:...},5:{page_views:...,clicks:...,visits:...},...}}编辑:因为有关于如何改进文档的讨论以及将其拆分的一些建议(我已经考虑过)。我会更新为什么要求是这样的。该文档用于跟踪用户。随着时间的推移跟踪他们的综合浏览量、访问量等。用户在文档上有其他数据。例如,有一个注册日期。目标是能够说出类似“显示在X日期注册并且在A和B跟踪日期之间拥有超过Z页面浏览量的用户

node.js - 带有 Mongoose 和数组的聚合框架

我提出了一个与此相关的问题,但我对Mongoose的聚合框架产生了新的疑问。例如,我有这个模式:varuserschema=newmongoose.Schema({user:String,pass:String,following:[String],imagen:[{title:String,date:{type:Date,default:Date.now},name:String,author:String,}],});这是聚合框架的代码:app.get('/home',middleware.yeses,function(req,res){usermodel.findOne({use

java - 用 Jongo 解码聚合结果

我正在使用MongoDB聚合框架查询一个文档,结果如下:{"result":[{"_id":"luke","times":8},{"_id":"albert","times":4},{"_id":"matt","times":4}],"ok":1}从上面的结果可以看出,查询在mongoDBshell中有效,但我在使用Jongo获取结果时遇到问题:Aggregationoutput=gamesCollection.aggregate("{...}").as(Aggregation.class);output.results().iterator().hasNext();主要问题似乎是Jo

MongoDB 聚合框架日期现在

我正在尝试根据当月的某天在聚合中执行计算。例如,我想将交易总数除以当月的第几天以获得每天的交易数。问题是我不知道如何获取当前日期。我看到很多硬编码示例,但我需要的更像是MySQLNOW()函数。我试过这样的:>db.statistics.aggregate([{$project:{dayofmonth:{$dayOfMonth:Date()}}}]){"errmsg":"exception:can'tconvertfromBSONtypeStringtoDate","code":16006,"ok":0}但这会产生您看到的错误。如何获取当月的当天以用于聚合计算?

Mongodb 是否可以聚合一个对象?

我正在尝试汇总此文档中的数据包总数。{"_id":ObjectId("51a6cd102769c63e65061bda"),"capture":"1369885967","packets":{"0":"595","1":"596","2":"595","3":"595",...}}我能得到的最接近的是大约db.collection.aggregate({$match:{capture:"1369885967"}},{$group:{_id:null,sum:{$sum:"$packets"}}});然而它返回的总和为0,这显然是错误的。{"result":[{"_id":null,"s

mongodb - 聚合/分组 w/a Sum

我正在努力了解Mongo的整个聚合框架。我在这里有点新手。Ihavethefollowingdocuments:{"col1":"camera","fps":1,"lat":3},{"col1":"camera","fps":3,"lat":2}{"col1":"recorders","fps":9,"lat":7}{"col1":"cell","fps":8,"lat":1}{"col1":"cell","fps":4,"lat":3}如何设置返回结果:{"col1":"camera","fps":4,"lat":5},{"col1":"recorders","fps":9,"lat