我在 MongoDB 和 python 中使用 Map Reduce,我遇到了一个奇怪的限制。我只是想计算“书”记录的数量。它在少于 100 条记录时起作用,但是当超过 100 条记录时,由于某种原因计数会重置。
这是我的 MR 代码和一些示例输出:
var M = function () {
book = this.book;
emit(book, {count : 1});
}
var R = function (key, values) {
var sum = 0;
values.forEach(function(x) {
sum += 1;
});
var result = {
count : sum
};
return result;
}
记录数为 99 时的 MR 输出:
{u'_id': u'superiors', u'value': {u'count': 99}}
记录数为 101 时的 MR 输出:
{u'_id': u'superiors', u'value': {u'count': 2.0}}
有任何想法吗?