< < 好傢伙,的MapReduce與日期奇怪的行爲
我的Symfony2(所以主義)和MongoDB工作。我試圖按日期「分組」我的結果。 我發現了一個功能,但它的行爲很奇怪。
的代碼:
$qb = $this->dm->createQueryBuilder('Friends');
$qb->map(new \MongoCode("function(){
var date = this.creationDate;
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
day = date.getDate();
if(day < 10){
day = '0'+day;
}
month = 1 + date.getMonth();
if(month < 10){
month = '0'+month;
}
day = day+'/'+month+'/'+date.getFullYear();
emit(day, 1);
}"));
$qb->reduce(new \MongoCode("function(k, vals) {
var count = 0;
for(v in vals) {
count += 1;
};
return count;
}"
));
$qb->sort("creationDate","desc");
其結果是:
[timeMillis] => 96 [次] =>數組([輸入] => 2830 [發射] => 2830 [減少] => 74 [output] => 79)[ok] => 1))
輸入和th發射都很好。但我不明白爲什麼減少和輸出是不同的。 更多當我試圖對所有結果做循環時,總數是不同的。
感謝您