jjzjj

mongodb - 在 MongoDb 中使用 mapreduce 计算平均值

我收集了1000万条与此类似的记录。{"_id":ObjectId("596dd10bbd1a6628ace1c14c"),"X":13212,"Z":173836,"userID":9354785}用户ID是唯一的。我必须计算X的平均值和Z的总和。我可以使用以下mapReduce函数计算Z的总和varmapFunction1=function(){emit(this.userID,this.Z);};varreduceFunction1=function(){returnArray.sum(Z);};db.transaction.mapReduce(mapfunction1,redu

mongodb - 计算数组中评分的平均值,然后将字段添加到 MongoDB 中的原始文档

我有一个文档,其中包含一个名为评级的字段。这是一个对象数组,每个对象包含userId和ratingValueratings:Array0:ObjectuserId:"uidsample1"ratingValue:51:ObjectuserId:"uidsample2"ratingValue:1.5我想做一个聚合管道来计算更新或添加数组中的一个评级时的新平均值。然后,我想将该值作为一个名为averageRating的新字段放入文档中。我已经尝试展开,然后$添加$avg的字段:“ratings.ratingValue”,但它会添加到展开的文档中并且没有得到平均值。它看起来像这样(不完全是因

ruby - 您如何使用 Ruby 计算 Mongo 中特定集合的字段中所有条目的平均值

给定以下数据:{_id:ObjectId("51659dc99d62eedc1a000001"),type:"image_search",branch:"qa_media_discovery_feelobot",time_elapsed:19000,test:"1365613930AllMedia",search_term:null,env:"delta",date:ISODate("2013-04-10T17:13:45.751Z")}我想运行如下命令:avg_image_search_time=@coll.find("type"=>"image_search").avg(:time

C语言程序设计:用do while 语句实现从键盘输入一组整数,求平均值

题目内容:用dowhile语句实现反复从键盘输入一个整数,如果大于或等于零,累加求和,直到输入负数结束。然后求出平均值并输出。输入格式:"%d"输出格式:"AVE=%.2f\n"输入样例:25354555-1输出样例:AVE=40.00时间限制:500ms内存限制:32000kb#include#includeintmain(){inta,s,counter;doubleAVE;s=0;counter=0;do{ s=s+a; counter++;scanf("%d",&a);}while(a>=0);AVE=(double)s/((double)counter-1);printf("AVE=

mongodb - 如何确定平均值是 0 还是 null?

我有一个Mongo数据库,我在其中运行一些聚合查询。这是我要运行的简化查询:db.coll.aggregate([{$group:{_id:'fieldA',fieldB:{$avg:'$fieldB'}}},])它按fieldA对数据进行分组并计算fieldB的平均值。无论如何,结果集中的某些行将0作为fieldB的值。可能有两个原因:平均值为0。组中的所有文档都没有fieldB(或者值为null);在这种情况下,Mongo的行为是返回0。是否可以在不发出其他查询且不离开聚合管道的情况下确定结果选择中每一行发生的情况?更新我无法过滤掉非空字段,因为我正在对几个字段进行聚合,例如:db

mongoDB - 数组值的平均值

我正在尝试计算集合中每个文档的数组每个值的平均聚合操作。Documentstructure{myVar:myValue,[...]myCoordinates:[myLng,myLat]}因此,我尝试通过查询集合来计算整个文档集合的myLng和myLat值的平均值myCoordinates这个:myColl.aggregate([{$group:{_id:0,lngAvg:{$avg:"$myCoordinates.0"},latAvg:{$avg:"$myCoordinates.1"}}}])但不幸的是,它不起作用,并且为我返回lngAvg和latAvg字段的值为0。你有什么想法吗?这

MongoDB - 计算对象属性嵌套数组的平均值

我有一个包含嵌套球员的球队数据库,如下所示:{team_id:"eng1",date_founded:newDate("Oct04,1896"),league:"PremierLeague",points:62,name:"ManchesterUnited",players:[{p_id:"Rooney",goal:85,caps:125,age:28},{p_id:"Scholes",goal:15,caps:225,age:28},{p_id:"Giggs",goal:45,caps:359,age:38}]}我正在尝试计算每支球队的平均年龄(所有球员年龄的平均值),但我无法正确访

php - 同一文档中 3 个字段的平均值

我的数据库中存储了具有完全相同“架构”的文档。每个文档都有三个浮点值(键是“A”、“B”和“C”),我需要做的是将每个文档输出为所有三个值的平均值。我还需要除以100,所以我的计算是(A+B+C)/3/100。据我所知,我需要将每个文档投影为不同的输出,但是$group在这里没有用(因为我没有对所有文档进行平均,只是对每个文档进行平均)。我需要首先能够将其编写为MongoDB命令,然后再将其转换为PHP。我想我可以完成PHP部分,但我需要的是一些帮助开始实际的MongoDB命令...db.measurements.aggregate()我的数据存储如下:{"_id":ObjectId(

mongodb - 使用 Mongo 聚合框架的组项目的平均值

我想对一个集合进行分组,然后计算组中一个字段的平均值。我这样设置我的数据库和内容:usetestdbdb.bla.insert({"service":"A","tet":"1"})db.bla.insert({"service":"A","tet":"100"})db.bla.insert({"service":"A","tet":"150"})db.bla.insert({"service":"B","tet":"10"})db.bla.insert({"service":"B","tet":"20"})db.bla.insert({"service":"B","tet":"25"}

mongodb - 如何使用 MapReduce 进行 k 均值空间聚类

我是mongodb和map-reduce的新手,想通过使用k-means空间聚类来评估空间数据。我找到了这个article这似乎很好地描述了算法,但我不知道如何将其转换为mongoshell脚本。假设我的数据如下所示:{_id:ObjectID(),loc:{x:,y:},user:}我可以使用{k=sqrt(n/2)},其中n是样本数。我可以使用聚合来获取数据的边界范围和计数等。我有点迷失了对聚类点文件的引用,我认为这只是另一个集合,我不知道如何进行迭代或者是否可以在客户端或数据库中完成?好的,我在这方面取得了一些进展,因为我已经生成了初始随机点数组,我需要在map-reduce阶段