当我在rails中使用mongoid mapreduce时,我会通过字符串传递map并减少函数。例如
def group
Order.collection.map_reduce(map, reduce, :out => 'output_collection')
end
def map
"function()
{
var key = {game_id: this.game_id, year: this.date.getFullYear()};
emit(key, {count: 1, score: this.score});
}"
end
def reduce
"function()
{
var result = {sum: 0, total_score: 0, average: 0};
values.forEach(function(value)
{
result.sum += value.count;
result.total_score += value.score;
});
}"
end
是否可以测试地图并减少轨道中的功能。 这是一个简单的例子。但我的项目功能更复杂,我觉得很难维护。
感谢您对任何建议的帮助。
答案 0 :(得分:0)
对于在数据库中进行的函数测试,您的测试方法是:
因此,在这种情况下,您需要确保sum / average / total_score符合您的预期。