是否允许更改mongo reduce函数的值?

时间:2012-04-02 10:56:40

标签: mongodb mapreduce

例如,以下reduce函数是否有效?

function reduce(key, values) {
  values[0].push(100); // each value of the values list is a list itself. 
  return values[0];
}

我知道这个功能不是非常有用,但它有效吗?

1 个答案:

答案 0 :(得分:2)

你应该能够,只记得MongoDB reduce函数必须是幂等的:输入键的结构必须是输出结构,所以reduce可以多次调用。

只要您提供有效的输出记录,您就可以根据需要操作其内容。但实现幂等性的一般规则是,无论MAP值的结构/内容是什么,都应该是reduce输出的结构/内容。