使用php聚合mongodb文档时将字符串值转换为整数

使用php聚合mongodb文档时将字符串值转换为整数,php,string,mongodb,integer,Php,String,Mongodb,Integer,我收集了一份天气数据,一天一份。我必须按月显示平均值。以下是我的聚合mongo shell查询: db.weather.aggregate([{$match : { month : "11", year : "2013"}}, { $group : { _id : 0, maxTempAvg : { $avg : "$maxtemp" } } }]) 问题是maxtemp是一个字符串,所以我的结果是0 如何在不更新数据库中maxtemp的数据类型的情况下将其转换为整数?有没有一个用php实现的

我收集了一份天气数据,一天一份。我必须按月显示平均值。以下是我的聚合mongo shell查询:

db.weather.aggregate([{$match : { month : "11", year : "2013"}},
{ $group : { _id : 0, maxTempAvg : { $avg : "$maxtemp" } } }])
问题是maxtemp是一个字符串,所以我的结果是0

如何在不更新数据库中maxtemp的数据类型的情况下将其转换为整数?有没有一个用php实现的解决方案


提前感谢:

第一种方法是尝试与维护数据库和具有写访问权限的人员交谈,并说服他们更改模式


第二种方法是使用mapreduce重写查询,因为这里使用了诸如parseInt之类的javascript函数。您可以使用php驱动程序运行mapreduce查询。

为什么要将数字存储为字符串?除非它的数量超过了数据库的能力,否则破坏数据的一个基本方面是没有意义的。是的,我知道,但我只能读取数据库,所以我必须找到解决办法…: