草庐IT

reduce_by

全部标签

MongoDB 聚合 - $group by date 即使不存在

我已经有一个如下所示的查询:{$match:{"when":{$gt:newDate(ISODate().getTime()-1000*60*60*24*30)}}},{$project:{"year":{$year:"$when"},"month":{$month:"$when"},"day":{$dayOfMonth:"$when"}}},{$group:{_id:{year:"$year",month:"$month",day:"$day"},"count":{$sum:1}}},{$sort:{_id:1}}结果是这样的:{"_id":{"year":2015,"month":

MongoDB : How do the stored objects are affected by model changes?

我正在考虑迁移到mongoDB,但我对这件事缺乏一些基本的了解。我的主要问题是“模型更改如何影响存储的对象?”。这是一个可以更好地理解我想知道的内容的场景:我使用first_name、last_name、email属性创建了一个“用户”模型。我在我的应用程序中创建了25个存储在mongo中的用户(所以他们存储为{first_name:"xxx",last_name:"yyy",email:"zzz"})我向“用户”模型添加了一个属性:用户名我在我的应用程序中创建了25个新用户(所以他们存储为{first_name:"xxx",last_name:"yyy",email:"zzz",us

Javascript 作用域规则和 mongo map/reduce 函数

我想制作一些在mongo中执行参数化映射/归约作业的javascript函数,但我对JavaScript的范围界定感到困惑。例如,下面的代码给出了"gender"变量的计数;即它会告诉我有多少"male"和"female"记录://countcategoriesdb.responses.mapReduce(function(){emit(this["gender"],{count:1})},function(state,values){varresult={count:0};values.forEach(function(value){result.count+=value.count

MongoDB 外壳 : find by BinData

我在MongoDB中有一个文档,例如{"_id":ObjectId("51723a2f2b9b90e9eb190c45"),"d":BinData(0,"c9f0f895fb98ab9159f51fd0297e236d")}字段“d”已编入索引,但我如何在mongoshell中通过它的值找到它?例如db.test.find({"d":BinData(0,"c9f0f895fb98ab9159f51fd0297e236d")})不工作,知道吗? 最佳答案 Bindata是二进制字符串的base64表示。必须实例化。db.test.fi

mongoDB 如何杀死/终止 map_reduce 作业?

我不确定这是否可行,但想知道我们是否有解决此问题的方法。我定义了一个map_reduce作业(已采取额外措施进行增量查询,以便数据集最小化)如果需要很长时间我想使用pymongoAPI或在mongoDBshell中终止作业……并且也优雅地删除所有临时表。这能做到吗? 最佳答案 在终止操作方面,您需要的是currentOp()找到操作ID,然后使用killOp()命令终止操作壳。详情请看这里:http://www.mongodb.org/display/DOCS/Viewing+and+Terminating+Current+Oper

python - map_reduce() *和* find() 在同一查询中

我发现了一堆map_reduce教程,但它们似乎都没有“where”子句或任何其他方式来从正在考虑的内容中排除文档/记录。我正在处理一个看似简单的查询。我有一个包含时间戳、IP地址和事件ID的基本事件日志文件。我想在给定的时间戳范围内为给定的事件获取唯一用户数。听起来很简单!我构建了一个类似这样的查询对象:{'ts':{'$gt':1345840456,'$lt':2345762454},'cid':'2636518'}有了这个,我尝试了两种方法,一种使用distinct,另一种使用map_reduce:不同db.alpha2.find(查询).distinct('ip').count

MongoDB 数据集 : pairs not reducing or problem with script

我是编程和mongoDB的新手,正在学习,我正在尝试mapreduce在dataset上使用mongoDB。到目前为止,我已经将csv转换为json并使用罗盘将其导入到mongoDB中。在罗盘中,数据现在看起来像这样:_id:5bc4e11789f799178470be53slug:"bitcoin"symbol:"BTC"name:"Bitcoin"date:"2013-04-28"ranknow:"1"open:"135.3"high:"135.98"low:"132.1"close:"134.21"volume:"0"market:"1500520000"close_ratio:

ruby-on-rails-3 - Mongoid,如何通过 references_one 关联(以及后续关联)进行 order_by?

简单模型:classhatembedded_in:ownerfield:colorendclassownerembedds_one:hatreferenced_in:housefield:nameendclasshousereferences_one:ownerfield:numberend简单地说,我们有与所有者关联的房屋集合,所有者可以有一顶彩色帽子。我可以简单地按编号对房子进行排序:House.all.order_by([[:number,:asc]])但我想要的是以房主的名义订购房子,理想情况下我想写:House.all.order_by([[:'owner.name',:as

distinct 、group by 的区别

selectdistinct(university)fromuser_profile;selectuniversityfromuser_profilegroupbyuniversity;二者返回的结果式样的。但是既然一样,为什么又要做两个函数呢?来看看它们的区别————————————————distinct支持单列、多列的去重单列去重的方式简明易懂,即相同值只保留1个;多列的去重则是根据指定的去重的列信息来进行,即只有所有指定的列信息都相同,才会被认为是重复的信息。distinct只是将重复的行从结果中剔除出去;groupby也支持单列、多列的去重,但是按指定的列分组,一般这时在select

ruby - 如何使用 MongoDB Ruby Driver 做一个 "Group"(group by)?

与MongoDBGroupusingRubydriver有关如果我想在SQL中执行如下操作:selectpage_id,count(page_id)froma_tablegroupbypage_id我以为MongoDB的文档说http://api.mongodb.org/ruby/current/Mongo/Collection.html#group-instance_methodgroup(key,condition,initial,reduce,finalize=nil)#returnsanarray所以在另一篇文章中,我正在使用:Analytic.collection.group