MongoDB Map-Reduce 操作文档
// 假设我们有一个名为 'myCollection' 的集合,并且我们想要对其中的文档执行 Map-Reduce 操作。
// 定义 Map 函数
var map = function() {
emit(this.category, this.price);
};
// 定义 Reduce 函数
var reduce = function(key, values) {
return values.reduce((total, value) => total + value, 0);
};
// 执行 Map-Reduce 操作
db.myCollection.mapReduce(
function() {
// Map 函数的代码
map.apply(this);
},
function(key, values) {
// Reduce 函数的代码
return reduce(key, values);
},
{
out: 'mapReduceResults' // 输出结果集合的名称
}
);
// 查询 Map-Reduce 的结果
var results = db.mapReduceResults.find();
results.forEach(printjson);
这段代码首先定义了 Map 和 Reduce 函数,然后在集合 myCollection
上调用 mapReduce
方法进行操作,并将结果输出到 mapReduceResults
集合中。最后,遍历并打印这些结果。这个例子假设每个文档有 category
和 price
字段,并且我们想要按 category
字段来汇总 price
的和。
评论已关闭