Last active
September 17, 2015 07:23
-
-
Save marcoberri/a6bda3536c6d49bbe9c5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*** | |
data example | |
{ "_id" : ObjectId("5554dc1a4e047bc09c427420"), "ts" : ISODate("2015-05-13T23:24:03Z"), "RC" : 6 } | |
{ "_id" : ObjectId("5554dc1a4e047bc09c427421"), "ts" : ISODate("2015-05-13T23:25:03Z"), "RC" : 6 } | |
get different from RC prev and act record and write a new collection in upsert | |
Data from La Crosse ws1640 increment Rain Counter. | |
project: http://meteo.marcoberri.it | |
**/ | |
var dbOne = db.getSisterDB('mbmeteolacrosse'); | |
//Last 24 hours | |
//var cur = dbOne.rawdata.find({"ts":{"$gte":new Date(new Date().getTime() - 60 * 60 * 24 * 1000)}},{"ts":1,"RC":1}).sort({"ts":1}) | |
var cur = dbOne.rawdata.find({},{"ts":1,"RC":1}).sort({"ts":1}).addOption(DBQuery.Option.noTimeout); | |
var prev=0; | |
var l | |
cur.forEach(function(doc) { | |
var diff=0; | |
if((doc.RC-prev) < 0 || isNaN(prev) || isNaN(doc.RC) || isNaN((doc.RC-prev)) || prev == doc.RC) | |
diff=0; | |
else | |
diff=doc.RC-prev | |
if(diff > 2500) | |
diff=0; | |
prev = doc.RC; | |
dbOne.rain.update({"ts": doc.ts},{"ts": doc.ts,"RC" : diff},{upsert:true}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment