草庐IT

mapReduce

全部标签

javascript - MongoDB mapReduce 方法意外结果

我的mongoDB中有100个文档,假设每个文档都可能与不同条件下的其他文档重复,例如名字和姓氏、电子邮件和手机。我正在尝试mapReduce这100个文档以具有键值对,例如分组。一切正常,直到我在数据库中拥有第101条重复记录。与第101条记录重复的其他文档的mapReduce结果输出已损坏。例如:我现在正在研究firstName和lastName。当数据库包含100个文档时,我可以得到包含的结果{_id:{firstName:"foo",lastName:"bar,},value:{count:20duplicate:[{id:ObjectId("/*anobjectid*/"),

MongoDB Java 驱动程序 3.0 MapReduce

这是我用来在sourceCollectionName上运行mapreduce并将输出获取到targetCollectionName的代码。但从未创建targetCollectionName。newMongoClient("localhost").getDatabase(dbName).getCollection(sourceCollectionName).mapReduce(map,reduce).action(MapReduceAction.REPLACE).databaseName(dbName).collectionName(targetCollectionName).shard

mongodb - 无法在 mongodb mapReduce 命令中设置查询过滤器

我正在尝试使用查询过滤mapReduce命令。这个查询似乎没有被mapReduce命令使用。当我使用具有相同参数的runCommand时,将使用查询过滤器。我尝试使用mongodb2.2.1和2.0.1。我的mapReduce函数的查询没有使用。m=function(){if(this.duration>0){emit("dur",this.duration);}}r=function(key,values){varindex=0;varsum=0;for(vari=0;i这个命令不起作用:res=db.movies.mapReduce(m,r,{out:{inline:1}},{qu

mongodb - 在 MongoDB map-reduce 中计算距离

我有一个带有地理索引的MongoDB集合:>db.coll.getIndexes()[//...{"v":1,"key":{"location":"2dsphere"},"ns":"test.coll","dropDups":false,"name":"location_2dsphere","background":false}]db.coll.findOne({location:{'$exists':true}},{'location':1}){"_id":ObjectId("52cd72ae2ac170aa3eaace6e"),"location":[55.4545177559,1

mongodb - 如何在 mongodb 中进行区分和分组?

如何进行mysql查询从visit_logsGROUPBYt_hour选择计数(不同的ip),计数(不同的区域)在没有multimapreduct的mongodb中? 最佳答案 您必须在您的对象中保留“键”列表,并将您的计数计算为不同键的计数;这可以在MongoDb的map/reduce中的finalize方法中完成。类似(未经测试):varmapFn=function(){emit(this.t_hour,{ips:[this.ip],areas:[this.area]);};varreduceFn=function(key,va

mongodb - 直接查询 MongoDB mapreduce 的结果与更新原始集合

我有一个mapreduce作业,它在一组帖子上运行并计算每个帖子的受欢迎程度。mapreduce输出一个集合,其中包含每个帖子的post_id和受欢迎程度。该应用程序需要能够获得按受欢迎程度排序的帖子。有数百万条帖子,这些热门信息每10分钟更新一次。我能想到的两种方法:方法一在posts表流行度字段上保留一个索引在posts表上运行mapreduce(这将替换任何以前的mapreduce结果)遍历mapreduce结果集合中的每一行,并分别更新帖子表中相应帖子的流行度直接查询帖子表以获取按受欢迎程度排序的帖子方法二在posts表上运行mapreduce(这将替换之前的mapreduce

MongoDB MapReduce 奇怪的结果

当我对包含少量文档的MongoDB集合执行Mapreduce操作时,一切正常。但是当我用一个包含大约140.000个文档的集合运行它时,我得到了一些奇怪的结果:map功能:function(){emit(this.featureType,this._id);}归约函数:function(key,values){return{count:values.length,ids:values};因此,我希望(对于每个映射键):{"_id":"FEATURE_TYPE_A","value":{"count":140000,"ids":["9b2066c0-811b-47e3-ad4d-e8fb6

用于个人非分布式工作的 MongoDB

以前可能会在这里(或其他地方)回答这个问题,但我在互联网上的看法一直是混合的/没有意见。除了SQL之类的数据库,我从未使用过任何其他东西,然后我遇到了NoSQL数据库(特别是mongoDB)。我试了一下。我这样做只是为了好玩,但到处都在谈论,当你在分布式服务器上使用它时,它真的很棒。所以我想知道,对于主要仅在个人计算机上进行小型项目和事情是否有任何帮助(以非常重要的方式)?只有一台服务器时是否有一些真正的优势。虽然使用MapReduce会很酷(并与同行讨论它:d),但当用于在单台服务器上运行的小型项目时,它会不会太过分了?或者这还有其他好处吗?我需要一些清晰的想法。对不起,如果我在这里

mongodb map 减少 value.count

在mongodb中,我有一个map函数,如下所示:varmap=function(){emit(this.username,{count:1,otherdata:otherdata});}和减少功能如下:varreduce=function(key,values){values.forEach(function(value){total+=value.count;//notethisline}return{count:total,otherdata:values[0].otherdata};//pleaseignoreotherdata}问题出在注释的行上:total+=value.c

mongodb - 在 MongoDB 中使用 MapReduce 加入两个集合

我已经知道MongoDB不支持连接操作,但我必须使用mapReduce范例模拟一个$lookup(来自聚合框架)。我的两个收藏是://Employeessample{"_id":"1234","first_name":"John","last_name":"Bush","departments":[{"dep_id":"d001","hire_date":"date001"},{"dep_id":"d004","hire_date":"date004"}]}{"_id":"5678","first_name":"Johny","last_name":"Cash","department