草庐IT

reduce_by

全部标签

MongoDB Map/Reduce 增量式自适应查询

我对要增量聚合的数据有疑问。我有设备(很多,存储在设备集合中)发出测量值(不定期),这些测量值存储在记录集合的数据库中。每条记录都有一个timestamp_utc,它不是存储数据的时间戳,而是测量位置。(完全不同,因为设备发送了一堆措施)我想要的是为每个不同的设备增量地进行不同规模的批处理数据聚合(MapReduce)。例如,我想要一个平均每5分钟测量一次的集合,每30分钟一次,......每天等等......我不想每次都处理整个数据,而只想处理新条目。例如:记录集合包含:{_id:{device1,time:ISODate(2011-10-12T13:50:01Z)},value:{

javascript - 如何使用 Mongoosejs 编写 group by query?

我正在将nodejs、mongooseodm和mongo用于网络应用程序,但在尝试在mongoose中运行“分组依据”样式查询时遇到问题:varresults=mymodel.collection.group({keyf:function(doc){varm=doc.date.getMonth();vard=doc.date.getDate();vary=doc.date.getFullYear();return{date:m+"/"+d+"/"+y};},cond:{},reduce:function(doc,prev){prev.total+=doc.value;},initial

kettle工具连接MySQL数据库报错 Caused by: javax.net.ssl.SSLException: Received fatal alert: internal_error

前言:    前几天为了修复MySQL数据库漏洞,项目上从5.7.41版本升级到了5.7.43,今天在使用kettle时发现数据库突然连不上了,测试连接报如下错误:         Errorconnectingtodatabase:(usingclassorg.gjt.mm.mysql.Driver)CommunicationslinkfailureThelastpacketsuccessfullyreceivedfromtheserverwas11millisecondsago. Thelastpacketsentsuccessfullytotheserverwas10millisecon

navicat连接服务器报错:Client does not support authentication protocol requested by server解决办法

注:原因为MySql8.0.11换了新的身份验证插件(caching_sha2_password),原来的身份验证插件为(mysql_native_password)。而客户端工具NavicatPremium12中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的登录密码加密规则还原成mysql_native_password,即可登陆成功。1、先登录mysqlmysql-uroot-p2、进入mysql数据库mysql>usemysql;3、查看user及hostmysql>selectuser,hostfromuser;user:root

MongoDB - 锁定如何为 Map Reduce 工作?

MongoDBmapreduce在对集合执行操作时会锁定集合吗?我有一些应用程序广泛而密集地使用的集合。Map/Reduce通过cron作业每10分钟在后台运行一次,在那个广泛和密集使用的集合上。我想知道Map/Reduce执行不佳的可能性是否很大,因为该集合上正在进行其他操作(插入、更新,主要是读取)。特别是,我想知道Map/Reduce是否会干扰用户对集合执行的正常操作。 最佳答案 MapReduce,如果输出到集合将在写入时进行多次写入锁定(就像任何创建/更新集合的操作一样)。如果您正在执行内联MR,则可以避免该锁定(但对结果

mongodb - map reduce 的意外输出

我有以下map和reduce函数,它们应该给我一个组中的最大日期。map:function(){if(this.topic_id!=0){emit(this.topic_id,{date_posted:this.date_posted});}}减少:function(key,values){varre_date=ISODate('1970-01-01T00:00:00Z');values.forEach(function(value){if(re_date==ISODate('1970-01-01T00:00:00Z')){re_date=value.date_posted;}if(r

javascript - mongodb 聚合 $sort by field value closest to some value

我想使用aggregation$sortpricevalueclosestto92对以下聚合输出进行排序我一直用到的聚合db.units.aggregate([{$match:{category:'a'}},{$limit:3},{$project:{price:1,name:1,category:1}}]);输出[{'_id':'111','price':100,'name':'abc','category':'a'}{'_id':'222','price':90,'name':'efg','category':'a'}{'_id':'333','price':80,'name':'

ruby-on-rails - Order_by 多个字段,包括一个 bool 值

我正在尝试以bool值important=true优先显示的方式对我的default_scope进行排序,所有排序均按created_atdesc进行。所以,我有以下代码:default_scopeorder_by(:important=>:desc,:created_at=>:desc)但是,看起来重要字段顺序被忽略了。我怎样才能让它发挥作用?提前致谢编辑:我只是改变了订单参数的顺序,它起作用了:default_scopeorder_by(:created_at=>:desc,:important=>:desc)就这么简单。 最佳答案

node.js - MongoDB 使用 Map/Reduce 将一个字段合并到现有集合中

我有一个包含2个集合的MongoDB数据库:组:{group_slug,成员}用户:{id、显示名称、组}对组的所有更改都是通过更改组的成员数组以包含用户ID来完成的。我想使用map/reduce将这些更改同步到用户集合。我如何将map/reduce的结果输出到现有集合中(但不合并或减少)。我现有的代码在这里:https://gist.github.com/morgante/5430907 最佳答案 HowcanIoutputtheresultsofmap/reduceintoanexistingcollection你真的不能这样做

json - 蒙哥错误: key $ must not start with '$' when store JSON object generated by xml2js module

各位MongoDBdb.version()is3.0.5mongodbpackage.jsonshows2.0.42versionxml2jspackage.jsonshows0.4.9version我已经用谷歌搜索了错误,并通读了所有现有问题,但似乎没有一个符合我的情况(jiraissue和googlegroupdiscussions等)。这可能与mongodb本地驱动程序(或MongoDB服务器版本)、xml2js或其他东西有关。我做了很多测试,确实找到了解决问题的方法,但我很想知道问题出在哪里。我有一个执行以下操作的应用程序:将XForm(survey.xml)上传到Expres