草庐IT

mapReduce

全部标签

node.js - 从 MongoJS 运行 MapReduce

是否可以使用mongojs运行mapreduce作业在Node应用程序中。我意识到在Web服务器代码中使用mapreduce并不是执行此操作的最有效方法,但它用于测试目的。 最佳答案 是的,看看node_modules/mongojs/mongodb/lib/collection.js中的以下函数定义:Collection.prototype.mapReduce=functionmapReduce(map,reduce,options,callback) 关于node.js-从Mongo

MongoDB 映射归约函数语法

好吧,我正在尝试将此sql查询转换为mapreduceselecto_orderpriority,count(*)asorder_countfromorderswhereo_orderdate>=date'1993-07-01'ando_orderdate我尝试了以下mapreduce函数db.runCommand({mapreduce:"orders",query:{o_orderdate:{'$gte':newDate("July01,1993")},o_orderdate:{'$lt':newDate("Oct01,1993")}},map:functionMap(){for(v

c# - 如何在 C# 中使用 MapReduce 加入 2 个集合?

为了连接两个数据集,我尝试翻译thisC#的示例如下:如果你们中的任何人可以建议适当的代码修改以获得与示例相同的结果,我将非常感激。 最佳答案 产生与this相同结果的解决方案示例如下:classProgram{staticvoidMain(string[]args){varconnectionString="mongodb://localhost";varclient=newMongoClient(connectionString);varserver=client.GetServer();vardatabase=server.G

mongodb - 在哪里可以找到在 MongoDB 的 map/reduce 中使用的 emit() 函数实现?

我正在努力加深对MongoDB中map/reduce的理解。我认为完成此任务的最佳方法是查看emit的实际实现。我在哪里可以找到它?更好的是emit()的简单实现。在MongoDB文档中,他们展示了一种通过编写自己的代码来解决emit()问题的方法,但是他们提供的基本实现实在太基础了。我想了解分组是如何进行的。 最佳答案 我认为您要查找的定义位于此处:https://github.com/mongodb/mongo/blob/master/src/mongo/db/commands/mr.cpp#L886要完全理解正在发生的事情,还

mongodb - 如何删除 mapReduce 中的 "value"?

我想知道是否可以删除map-reduce中的“value”键,以便最终结果直接包含值而不是在“value”键中。我希望仅使用命令(因此没有Javascript变量等)例如,map-reduce输出通常是[{"_id":0,"value":{"name":"Apple","sold":1234}},{"_id":1,"value":{"name":"Amazon","sold":5678}}]我希望它最终成为[{"_id":0,"name":"Apple","sold":1234},{"_id":1,"name":"Amazon","sold":5678}]我想这可以用findAndMo

node.js - MongoDb mapreduce 是另一个比 `out inline` 内存效率更高的集合吗

我在一个有512兆RAM的实例上运行MongoDb,(以及其他一些网络应用程序)所以每一兆字节都很重要MongoDbdocumentation声明out:{inline:1}Performthemap-reduceoperationinmemoryandreturntheresult.这表明其他输出类型不在内存中执行。将mapReduce结果返回到另一个集合中是否会更有效地存储内存-前提是最后我仍然需要阅读它收集数据返回给客户端 最佳答案 考虑到内联只有在从应用程序调用MapReduce时才真正有用,我应该声明MapReduce并非

mongodb - mongodb 中日期的差异作为分钟

我有以下mongo数据库模式{"user":ObjectId("52aaea01701054a10a002212"),"type":"go_to_page","params":{"page":"users"},"created":ISODate("2013-12-30T05:30:24.324Z")}“页面”可以具有四个值中的任何一个,例如个人资料、事件、人员和呼喊。因此,如果用户从人员页面跳转到个人资料页面,我可以将它们保存到mongo数据库中,现在我可以获得用户事件的日志。现在我必须找到用户在上述四个页面中的每个页面上花费的确切时间(以分钟为单位)。mongo中是否有任何方法可以输

MongoDB 聚合对象映射到不同的值

我得到了三个文件:[{_id:1,article:1,details:{color:"red"}},{_id:2,article:1,details:{color:"blue",size:44},{_id:3,article:2,details:{color:"blue",size:44}]我想在查询中将其转换为:[{article:1,details:{color:["red","blue"],size:[44]}},{article:2,details:{color:["blue"],size:[44]}]目前这是通过mapReduce实现的:db.varieties.mapRed

mongodb - 聚合计算每个标签的数量,这里有两种类型的标签

我有一个集合,其中的元素可以简化为:{t1:[1,3,6],t2:[8,9]}wereint1和t2可以是1到10个正整数,不能重复。我需要计算集合中所有文档的t1和t2中每个数字有多少。例如,如果我的收藏包含3个文档:{t1:[1,3,6],t2:[8,9]},{t1:[1,2],t2:[8]},{t1:[6],t2:[8,1]}我应该有类似的东西t1:{1:2,//thereare2elementsof1int13:1,//thereis1elementof3int16:2,2:1}t2:{8:3,//thereare3elementsof8int29:1,1:1}我目前正在做的事

mongodb - 在 mongoDB 映射函数中发出完整文档而不将 (key,values) 对分配给 varchar

varmap=function(){varvalues={d_sno:this.d_sno,type:this.type};emit(this._id,values);};在上面的map函数中,我将(key,value)对分配给一个varchar并发出该varchar。我想在不将(key,value)对分配给varchar的情况下发出整个文档。 最佳答案 您可以像这样发出整个文档:varmap=function(){emit(this._id,this);};通过将整个文档作为一个值发出,发出的文档将如下所示:{"_id":Obje