Open iliuyt opened 4 years ago
默认情况下mapreduce是无法使用外部变量的,当map或reduce等方法使用外部数据执行时,会报错找不到对象。
根据mongoose文档中可以看到scope参数,文档告知在执行期间暴露给map / reduce / finalize的{Object}作用域变量文档地址
var opt = {}; opt.scope = { userData: { position: 2, brand: 2 } }; opt.map = function() { emit("error", userData.position); }; opt.reduce = function(k, vals) { return vals.join(","); }; opt.out = { replace: "post_total" }; Role.mapReduce(opt, function(err, model) { if (err) { console.log(err); } else { model.model.find().exec(function(err, docs) { console.log(docs); }); } });
默认情况下mapreduce是无法使用外部变量的,当map或reduce等方法使用外部数据执行时,会报错找不到对象。
根据mongoose文档中可以看到scope参数,文档告知在执行期间暴露给map / reduce / finalize的{Object}作用域变量文档地址