Mongodb PyMongo MapReduce始终使用浮点数
我试图使用mapreduce,但出于某种原因,它将整数转换为浮点数 地图: 减少:Mongodb PyMongo MapReduce始终使用浮点数,mongodb,mapreduce,pymongo,Mongodb,Mapreduce,Pymongo,我试图使用mapreduce,但出于某种原因,它将整数转换为浮点数 地图: 减少: function(key, values) { var total = 0; for(var i = 0; i < values.length; i++) { total += values[i]; } return total; } Javascript没有“整数”的概念,所有数字都是浮点数。因此,您的emit(this.\u id.p,1)语句正在发出f
function(key, values) {
var total = 0;
for(var i = 0; i < values.length; i++) {
total += values[i];
}
return total;
}
Javascript没有“整数”的概念,所有数字都是浮点数。因此,您的
emit(this.\u id.p,1)
语句正在发出float 1.0。MongoDB为Javascript解释器提供了一个numberrint
和NumberLong
类来解决这个问题
请尝试发射(此。_id.p,numberprint(1))
function(key, values) {
var total = 0;
for(var i = 0; i < values.length; i++) {
total += values[i];
}
return total;
}
[
{u'_id': 1.0, u'value': 6.0},
{u'_id': 2.0, u'value': 6.0},
{u'_id': 3.0, u'value': 5.0},
{u'_id': 4.0, u'value': 6.0},
{u'_id': 5.0, u'value': 3.0},
{u'_id': 6.0, u'value': 6.0},
**snip**
]