2011-05-21 3 views
1

J'utilise mongomapper avec mongodb pour les modèles de rails. Dans le mongodb j'ai cette fonctionmongodb fonction de rails

db.system.js.save({_id:'resumenTemporada',value:function(collection, condition){ 
    var res= 
    db[collection].group({  
     key:{}, 
     reduce:function(obj,prev){  
      prev.ppa += obj.precipitation; 
      if(obj.temperature < 5 && obj.temperature >0) prev.hf += obj.temperature/4; 
     }, 
     initial : {ppa:0,hf:0},    
     cond: condition});  
    return res ; 
    } 
}); 

et obtenir cette sortie

> db.eval("return resumenTemporada('stations',{nombre:'pua',fecha:{$gt:'2011-01-01'}});") 
[ 
     { 
       "ppa" : 241.19999999999982, 
       "hf" : 743.2295249999986 
     } 
] 

Ok, comment je peux appeler cette fonction des rails?

Répondre

1

essayer:

results = MongoMapper.database.eval('resumenTemporada', 'stations',{nombre:'pua',fecha:{$gt:'2011-01-01'}}) 

D'autres exemples ici: https://gist.github.com/307753

+0

résultat = MongoMapper.database.eval («retour resumenTemporada ('stations', {nom: 'PUA', fecha: {$ gt: '2011-01-01'}}); ") – JuanPablo